|
THotPDF.AddImageWithSMask
|
Горе Предишна Следваща |
|
Добавя color image XObject заедно с PDF 1.4 soft-mask image XObject (ISO 32000-1 8.9.5.4), така че получената картинка да носи пълна per-pixel прозрачност вместо бинарното on/off ограничение на наследения /ImageMask път
Delphi syntax: function AddImageWithSMask(Width, Height: Integer; const RGB: TBytes; const Alpha: TBytes): Integer; function AddImageWithSMask32(Bitmap32: TBitmap): Integer;
C++ syntax: __property int AddImageWithSMask(int Width, int Height, const TBytes& RGB, const TBytes& Alpha); __property int AddImageWithSMask32(TBitmap* Bitmap32);
Описание SMask изображенията носят независим 8-bit DeviceGray канал, чиято luminance управлява alpha на цветното изображение при paint време (0 = напълно прозрачно, 255 = напълно непрозрачно). HotPDF излъчва и двете равнини като Flate-compressed image XObject-и, свързва /SMask entry-то в dictionary-то на цветното изображение към soft-mask XObject-а и връща индекс в XImages, който THPDFPage.ShowImage приема директно - целият downstream код за поставяне остава непроменен
AddImageWithSMask(Width, Height, RGB, Alpha) - - -
AddImageWithSMask32(Bitmap32) Удобен overload за често срещания workflow "имам PNG с alpha". TBitmap трябва да има PixelFormat = pf32bit; HotPDF чете BGRA редовете от ScanLine директно, пренарежда към R G B за цветната равнина и копира A байта към alpha равнината, преди да делегира към суровия AddImageWithSMask entry point
Return value: индекс в XImages, идентичен на този, който връща AddImage; подайте го на THPDFPage.ShowImage, за да поставите картинката на страница. Връща -1, когато StrictVersionLock е включен и активната Version е под PDF 1.4 (в противен случай version-ът се повишава автоматично до 1.4)
Примерен код
See Also AddImage, THPDFPage.ShowImage, Version, PDF Filter Support
|