PDFium Delphi Component Docs

İsteğe bağlı LittleCMS 2 ICC dönüşüm sağlayıcısı

CreatePdfLittleCmsColourTransform, özgün Gri, RGB, CMYK ve ICCBased bileşen tamponları ile belge renk dönüştürme yardımcısı için IPdfColourTransform uygulamasını gerçekleştirir

Mimarisi işlemle eşleşen açık bir mutlak kitaplık yolu sağlayın; yerel kitaplık LittleCMS 2 cdecl API'sını açığa çıkarmalıdır ve verilen derleme yardımcısı bu ABI'yi MIT lisanslı LittleCMS 2.19 kaynağından üretir

Microsoft stdcall derleme yapılandırmasını kullanan bir DLL Win32 sağlayıcısıyla uyumsuzdur; çağrı kuralları, süslenmemiş export adlarından güvenilir biçimde çıkarılamaz

TryCreatePdfLittleCmsColourTransform bağımlılık tanılamalarını döndürür ve işlem arama yolunu değiştirmeden, başarısızlıkta dönüşümü nil bırakır

Her çağrı kendi yerel bağlamına, profillerine ve dönüşümüne sahiptir; sağlayıcı paylaşılabilir, ancak çağırıcılar örnek tamponlarını çağrı süresince değişmez tutmalıdır

Tamponlar, 1, 3 veya 4 bileşenli ve yerel bayt sırasına göre 8 bitlik bayt veya 16 bitlik işaretsiz sözcük olan sıkı paketlenmiş tam pikselleri içerir; PDF büyük uçlu görüntü örnekleri, bu sağlayıcı çağrılmadan önce belge yardımcısı tarafından dönüştürülür

Profilsiz DeviceRGB sRGB kullanır ve profilsiz DeviceGray, D50 gamma-2.2 profili kullanır; DeviceCMYK ve ICCBased açık bir kaynak ICC profili gerektirir ve her profilin veri renk uzayı, bildirilen bileşen sayısıyla eşleşmelidir

Hedefler, eşleşen bir ICC profiliyle DeviceGray, DeviceRGB veya DeviceCMYKdır; atlanmış hedef profili yalnızca sağlayıcının Gri ve RGB varsayılanları için desteklenir

Default, göreli renkölçüm niyetini, siyah nokta dengelemesini, 256 MiB örnek baytı ve 16 MiB ICC profili baytını seçer; profil sınırı 16 MiB ile sınırlıdır

İptal, yerel kurulumdan önce ve sonra ve en çok 65.536 piksellik bloklar arasında denetlenir; yerel profil açma ve tek bir dönüşüm bloğunun iptal geri çağırması yoktur

Başarısız dönüşümler hedef tamponunu temizler ve EPdfColourBackendError fırlatır; iptal EPdfOperationCancelled değerini korur

Gerçek LittleCMS 2.19 dönüşümleri ve PDF kaydetme/yeniden açma/işleme sabitleri, Delphi ve FPC ile Win32 ve Win64 üzerinde doğrulanır

Public declarations

type
  EPdfColourBackendError = class(EPdfProduction);
  TPdfLittleCmsOptions = record
    RenderingIntent: Cardinal;
    BlackPointCompensation: Boolean;
    MaxSampleBytes: Integer;
    MaxProfileBytes: Integer;
    CancellationToken: IPdfCancellationToken;
    class function Default: TPdfLittleCmsOptions; static;
  end;

function CreatePdfLittleCmsColourTransform(const LibraryPath: string;
  const Options: TPdfLittleCmsOptions): IPdfColourTransform;
function TryCreatePdfLittleCmsColourTransform(const LibraryPath: string;
  const Options: TPdfLittleCmsOptions; out Transform: IPdfColourTransform;
  out ErrorText: string): Boolean;
function CreatePdfLittleCmsGrayProfile(const LibraryPath: string;
  Gamma: Double = 2.2): TBytes;
function CreatePdfLittleCmsSrgbProfile(const LibraryPath: string): TBytes;

CreatePdfLittleCmsGrayProfile, 0,1 ile 10 arasında sınırlı bir gama kabul eder; her iki profil yardımcısı da gömme veya yeniden kullanım için gerçek yerel ICC profillerini serileştirir

Build the optional native library

pwsh Native/ColourLittleCms/Build-LittleCms.ps1 -SourceDirectory C:/deps/lcms2.19 -OutputDirectory C:/deps/lcms-bin -Platform Win64

Yardımcı, uyumlu bir MinGW GCC kurulumu ve mevcut bir LittleCMS 2.19 kaynak checkout'u gerektirir; geçerli yerel lisans bildirimlerini çıkış dizinine kopyalar ve bağımlılık indirmez ya da yüklemez