RecolorDocument

Màu

Mô tả

Chuyển mọi trang của tài liệu về một color space

Cú pháp

Delphi

Function TPDFlib.RecolorDocument(TargetSpace: Integer): Integer;

Tham số

TargetSpace1 grey, 2 RGB, 3 CMYK.

Giá trị trả về

CountĐã chuyển đổi bao nhiêu màu trên toàn tài liệu
0Không có gì cần chuyển đổi, hoặc TargetSpace nằm ngoài 1 đến 3. Trang nào màu của nó vốn đã ở không gian đích thì giữ nguyên byte gốc

Ghi chú

Việc chuyển đổi dùng số học thiết bị thông thường chứ không qua quản lý màu: tài liệu chỉ khai báo DeviceRGB thì không mang profile nào để chuyển qua. RGB thành xám theo trọng số luminance của ITU-R BT.601, còn CMYK chuyển như mô tả tại ISO 32000-1 §8.6.4.4 - đúng điều viewer vẫn làm khi hiển thị tài liệu CMYK trên màn hình

Màu đặt qua không gian ICCBased, Separation, Indexed hoặc Pattern được giữ nguyên. Đọc thành phần của chúng mà không qua profile sẽ làm trang đổi diện mạo thay vì giữ nguyên, nên tài liệu như vậy chỉ được chuyển ở những phần nêu tên device space trực tiếp

Các ảnh mà trang vẽ cũng được chuyển đổi, khi ảnh mang tám bit mỗi thành phần, một device color space, và hoặc không nén hoặc nén Flate thuần. Ảnh JPEG hay fax phải được encode lại - đó là một thao tác khác với việc chuyển màu của nó - nên ảnh giữ nguyên byte của mình

Ảnh indexed được chuyển đổi qua colour table của nó, nên các sample giữ nguyên chỉ số vốn có. Con đường này không quan tâm sample được đóng gói hay nén thế nào, đó là lý do ảnh chụp màn hình palette hay biểu đồ vẫn chuyển được dù sample của chúng không ghi lại được

Gradient được chuyển đổi cùng với hàm đứng sau nó, nên không gian màu và các điểm dừng luôn khớp nhau. Gradient dựng từ hàm sampled hoặc PostScript giữ màu riêng của nó, các kiểu mesh shading cũng vậy vì chúng mang màu trong stream chứ không phải trong hàm

Soft mask và stencil mask được để nguyên. Cả hai được đọc như vùng phủ (coverage) chứ không phải màu, và chuyển đổi một cái sẽ khiến trang hiển thị mask như một bức ảnh

Hình học, chữ, clipping và mọi toán tử khác được ghi lại nguyên vẹn

Trang đang chọn được khôi phục khi hàm trả về

Ví dụ

// Send a mixed-colour document to a press that expects CMYK
PDF.LoadFromFile('brochure.pdf', '');
Converted := PDF.RecolorDocument(3);
PDF.SaveToFile('brochure-cmyk.pdf');

Xem thêm

RecolorPage, SetFillColor, SetFillColorCMYK