THotPDF.OptimizeLoadedImagesByVisualCost Method

Chạy một tìm kiếm chất lượng có giới hạn cho các ảnh JPEG và JPEG 2000 đã tải đủ điều kiện và chọn ứng viên chi phí thấp nhất thỏa mãn cả giới hạn chất lượng và tiết kiệm

Khai báo

function OptimizeLoadedImagesByVisualCost(
    const Options: THPDFImageRecompressionCostOptions;
    out AInfo: THPDFImageRecompressionCostInfo): Integer;

Mô hình chi phí

Mỗi ứng viên đã mã hóa được giải mã và so sánh với nguồn đã giải mã qua các phần dư luma và chroma được lấy mẫu trên thang lỗi tri giác chuẩn hóa từ không đến 100

Các ứng viên trên MaximumPerceptualError hoặc dưới MinimumSavingsBytes bị từ chối trước khi chấm điểm

score = VisualErrorWeight * sqr(error / MaximumPerceptualError)
      + ByteCostWeight * (candidateBytes / sourceBytes)

Điểm thấp nhất thắng, tiếp theo là kích thước mã hóa nhỏ hơn rồi chất lượng cao hơn khi điểm hòa, nên các lần chạy lặp lại dùng cùng đầu ra

THPDFImageRecompressionCostOptions

MinimumQuality, MaximumQuality và QualityStep xác định các lần thử chất lượng có giới hạn, và chất lượng tối đa luôn được đưa vào ngay cả khi bước không chia hết phạm vi

SampleStride kiểm soát việc lấy mẫu phụ pixel xác định từ 1 đến 64, trong khi hai trọng số không âm cho phép người gọi ưu tiên độ trung thực thị giác hoặc đầu ra gọn

THPDFImageRecompressionCostOptions.Default tìm chất lượng 30 đến 90 theo bước 10, giới hạn lỗi tri giác ở 3, yêu cầu một byte được lưu, lấy mẫu mỗi pixel thứ tư theo mỗi chiều và cân bằng trọng số lỗi thị giác và chi phí byte

THPDFImageRecompressionCostInfo

Kết quả báo cáo số lượng ảnh được quét và đủ điều kiện, các lần ghi lại JPEG và JPEG 2000, các lần thử mã hóa, các lần từ chối lỗi thị giác và chi phí byte, tổng chất lượng được chọn, lỗi tri giác tối đa được chấp nhận, tổng byte và trạng thái DeterministicSelection

An toàn

Các mặt nạ ảnh, mặt nạ khóa màu, màu đốm, ảnh Lab và nguồn ICCBased không phải RGB vẫn không đổi, trong khi các nguồn RGB hiệu chuẩn có thể chuyển đổi giữ một định nghĩa không gian màu đầu ra hiệu chuẩn tường minh

Việc hủy được kiểm tra trước mỗi ảnh và mỗi lần thử mã hóa, và không có luồng nguồn nào được thay thế trừ khi một ứng viên hoàn chỉnh được chấp nhận đã được chọn

Resource and Image Optimisation