Запись THPDFImageRecompressionCostInfo
Телеметрия прохода пережатия изображений по визуальной стоимости: счётчики просканированных и кандидатов, исходы по кодекам, счётчики проб и отказов, агрегаты качества и ошибки, а также экономия байтов
Объявление
THPDFImageRecompressionCostInfo= record
ScannedImageCount: Integer;
CandidateImageCount: Integer;
RecompressedImageCount: Integer;
RecompressedJPEGCount: Integer;
RecompressedJPEG2000Count: Integer;
EncodingTrialCount: Integer;
VisualErrorRejectionCount: Integer;
ByteCostRejectionCount: Integer;
SelectedQualitySum: Integer;
MaximumSelectedPerceptualError: Double;
BytesBefore: Int64;
BytesAfter: Int64;
BytesSaved: Int64;
DeterministicSelection: boolean;
end;
Модуль
HPDFDoc
Поля
| Поле | Назначение |
|---|---|
ScannedImageCount | Изображения, осмотренные проходом |
CandidateImageCount | Изображения, вошедшие в поиск качества после проверок пригодности |
RecompressedImageCount | Изображения, реально перекодированные и записанные обратно |
RecompressedJPEGCount | Перекодированные изображения с итоговым фильтром JPEG |
RecompressedJPEG2000Count | Перекодированные изображения с итоговым фильтром JPEG 2000 |
EncodingTrialCount | Пробные кодирования, выполненные при переборе диапазона качества |
VisualErrorRejectionCount | Пробы, отклонённые из-за превышения перцептивной ошибкой бюджета |
ByteCostRejectionCount | Пробы, отклонённые из-за доминирования веса байтовой стоимости в оценке |
SelectedQualitySum | Сумма качеств, выбранных для каждого пережатого изображения, для вычисления среднего |
MaximumSelectedPerceptualError | Наибольшая перцептивная ошибка среди принятых пережатий |
BytesBefore / BytesAfter | Байты image stream до и после прохода |
BytesSaved | Достигнутая разница байтов; сравнивайте с порогом минимальной экономии в опциях |
DeterministicSelection | true, когда каждый сообщённый выбор получен детерминированным сравнением стоимости |
Примечания по использованию
- Заполняется методом
THotPDF.OptimizeLoadedImagesByVisualCost; результат функции — число пережатых изображений, а запись несёт полную отчётность - Разделите
SelectedQualitySumнаRecompressedImageCount, чтобы получить среднее выбранное качество - После вызова прочитайте
BytesBefore,BytesAfterиBytesSaved, чтобы убедиться, что проход достиг настроенной цели экономии