THotPDF.DecodeLoadedImageColorKeyMask Method
สร้าง bitmap ของ color-key mask ให้ loaded image ที่ dictionary มีรายการ array /Mask อยู่
การประกาศ
function DecodeLoadedImageColorKeyMask(
AImageStream: THPDFStreamObject): TBitmap;
ยูนิต
HPDFDoc
พารามิเตอร์
| ชื่อ | วัตถุประสงค์ |
|---|---|
AImageStream | loaded image stream object ที่ dictionary มี array /Mask แบบ color-key อยู่ |
ค่าที่ส่งกลับ
bitmap grayscale 24 บิต ขนาดตรงกับภาพต้นฉบับ โดยสีดำ mark pixel ที่ sample ทุกตัวอยู่ภายในช่วงของ component ตัวเอง และสีขาว mark pixel ที่มี component ใดตกนอกช่วง, คืน nil เมื่อภาพไม่มีคุณสมบัติครบ
หมายเหตุการใช้งาน
- เงื่อนไขความมีคุณสมบัติตามกฎ color-key masking ของ PDF: ภาพต้อง decode ได้ ไม่ใช่ image mask มี color component 1 ถึง 4 ตัว และมี array /Mask ที่ให้ค่า 2 ค่าต่อหนึ่ง component
- ช่วงค่าถูกเทียบกับ sample ตามที่เก็บไว้ ก่อนผ่าน
/Decode; สำหรับภาพแบบ Indexed นั่นคือดัชนี palette ดังนั้นสองรายการที่เป็นสีเดียวกันก็ถูก mask ต่างกันได้ - stream แบบ DCTDecode, JPXDecode, JBIG2Decode และที่เข้ารหัสด้วย CCITT จะคืน nil: codec แบบ lossy ไม่เก็บค่า sample ที่แม่นยำไว้
RenderLoadedPageToBitmapและBuildLoadedPageSVGใช้ mask นี้เวลาวาดภาพ- การ decode เคารพ byte budget ที่ตั้งไว้ ภาพที่มีเจตนาร้ายหรือใหญ่เกินงามจะ fail อย่างสะอาดแทนที่จะกิน memory จนหมด
- caller เป็นเจ้าของ bitmap ที่ได้กลับมา, ใช้ร่วมกับ
DecodeLoadedImageStreamเพื่อ preview ว่า region ไหนที่ viewer จะถือว่าถูก mask