THotPDF.DecodeLoadedImageColorKeyMask Method
Будує растрову маску color-key для завантаженого зображення, словник якого несе масив /Mask
Оголошення
function DecodeLoadedImageColorKeyMask(
AImageStream: THPDFStreamObject): TBitmap;
Модуль
HPDFDoc
Параметри
| Назва | Призначення |
|---|---|
AImageStream | Завантажений об'єкт потоку зображення, словник якого містить масив /Mask кольорового ключа |
Повернене значення
24-бітне зображення у відтінках сірого з розмірами оригіналу: чорним позначаються пікселі, чиї вибірки повністю потрапляють у діапазони своїх компонент, а білим — пікселі, у яких будь-яка компонента виходить за свій діапазон; nil, коли зображення не підпадає під правило
Примітки щодо використання
- Правила придатності віддзеркалюють правило маскування color-key у PDF: зображення має декодуватися, не бути маскою зображення (image mask), нести від 1 до 4 кольорових компонент і мати масив /Mask із 2 значень на компонент
- Діапазони порівнюються з вибірками такими, як вони збережені, до
/Decode; для зображення Indexed це індекс палітри, тож два записи одного кольору можуть бути замасковані по-різному - Потоки DCTDecode, JPXDecode, JBIG2Decode і CCITT повертають nil: кодеки з втратами не зберігають точних значень вибірок
RenderLoadedPageToBitmapіBuildLoadedPageSVGзастосовують цю маску, коли малюють зображення- Декодування зважає на налаштований байтовий бюджет декодування, тож зловмисні чи надмірно великі зображення чисто зазнають невдачі замість того, щоб вичерпати пам'ять
- Повернута бітмапа належить викликачеві; поєднайте її з
DecodeLoadedImageStream, щоб побачити, які регіони переглядач вважатиме замаскованими