THotPDF.DecodeLoadedImageRegionAtResolution Method
Декодує прямокутник у вихідних координатах, дозволяючи декодеру обрати нижчий рівень роздільної здатності, який усе ще задовольняє запитуваний розмір виводу
Оголошення
function DecodeLoadedImageRegionAtResolution(
AImageStream: THPDFStreamObject;
RegionLeft, RegionTop, RegionRight, RegionBottom,
TargetPixelWidth, TargetPixelHeight: Integer): TBitmap;
Модуль
HPDFDoc
Параметри
| Назва | Призначення |
|---|---|
AImageStream | Потік XObject завантаженого зображення для декодування |
RegionLeft | Включна ліва вихідна координата |
RegionTop | Включна верхня вихідна координата |
RegionRight | Виключна права вихідна координата |
RegionBottom | Виключна нижня вихідна координата |
TargetPixelWidth | Мінімальна корисна ширина декодування до фінального масштабу відмальовування |
TargetPixelHeight | Мінімальна корисна висота декодування до фінального масштабу відмальовування |
Повернене значення
Повертає щойно виділений растровий малюнок для обмеженої непорожньої області або nil, коли зображення чи запитувану геометрію не можна декодувати
Вибір роздільної здатності
- JPEG 2000 обирає найбільше зменшення на степінь двійки, за якого і ширина, і висота декодування лишаються щонайменше запитуваного розміру пікселів
- Вибір ніколи не зменшує роздільну здатність нижче обох вимірів і тому уникає непотрібного збільшення перед малюванням
- Вибір нативної області та вибір роздільної здатності поєднуються до вейвлет-реконструкції та розгортання пікселів
- Ізольовані від збоїв воркери JPEG 2000 отримують той самий запит зменшення та використовують відповідно менший бюджет виводу
- Коли нативний запасний шлях обробляє область, що перетинає кілька тайлів кодстриму, незалежні тайли декодуються паралельно в межах скасування, кількості воркерів, виводу та пікової пам'яті
- Паралельні результати компонуються у стабільному порядку рядків, а недостатній робочий бюджет прозоро обирає послідовний шлях для області
- Зображення JPEG у DeviceRGB або DeviceGray проходить через DCT-декодер зменшеного розміру, коли область чи запитаний розмір відрізняються від повного зображення: воно декодується у зменшеному масштабі DCT, який усе ще покриває запит, і повертає область, передискретизовану точно до запитаного розміру
- Інші підтримувані формати зображень, а також зображення JPEG в інших кольорових просторах зберігають точне декодування області й залишають будь-яке фінальне масштабування викликачу
- Викликач володіє непорожнім поверненим растром і має звільнити його
Приклад
Preview := PDF.DecodeLoadedImageRegionAtResolution(
ImageStream, 0, 0, SourceWidth, SourceHeight, 320, 200);
try
Canvas.StretchDraw(TargetRect, Preview);
finally
Preview.Free;
end;