THotPDF.DecodeLoadedImageColorKeyMask Method
Baut die Color-Key-Mask-Bitmap für ein geladenes Bild, dessen Dictionary einen /Mask-Array-Eintrag trägt
Deklaration
function DecodeLoadedImageColorKeyMask(
AImageStream: THPDFStreamObject): TBitmap;
Unit
HPDFDoc
Parameter
| Name | Zweck |
|---|---|
AImageStream | Geladenes Bild-Stream-Objekt, dessen Dictionary das Color-Key-/Mask-Array enthält |
Rückgabewert
24-Bit-Graustufen-Bitmap in den Bildabmessungen, in der Schwarz Pixel markiert, deren Samples komplett innerhalb ihrer Komponentenbereiche liegen, und Weiß Pixel mit mindestens einer Komponente außerhalb ihres Bereichs; nil, wenn das Bild nicht in Frage kommt
Verwendungshinweise
- Die Eignung folgt den PDF-Regeln für Color-Key-Masking: Das Bild muss dekodierbar sein, keine Image Mask sein, 1 bis 4 Farbkomponenten haben und ein /Mask-Array mit 2 Werten pro Komponente besitzen
- Die Bereiche werden mit den Samples verglichen, wie sie gespeichert sind, vor
/Decode; bei einem indizierten Bild ist das der Palettenindex, sodass zwei Einträge derselben Farbe unterschiedlich maskiert werden können - DCTDecode-, JPXDecode-, JBIG2Decode- und CCITT-kodierte Streams geben nil zurück: verlustbehaftete Codecs bewahren keine exakten Sample-Werte
RenderLoadedPageToBitmapundBuildLoadedPageSVGwenden diese Maske an, wenn sie das Bild zeichnen- Die Dekodierung hält das konfigurierte Byte-Budget für Dekodierung ein, sodass feindliche oder überdimensionierte Bilder sauber fehlschlagen, statt den Speicher aufzufressen
- Der Aufrufer besitzt die zurückgegebene Bitmap; kombinieren Sie sie mit
DecodeLoadedImageStream, um vorab zu sehen, welche Bereiche der Viewer als maskiert behandelt