RecolorDocument

Kolor

Opis

Przenosi wszystkie strony dokumentu do jednej przestrzeni kolorów

Składnia

Delphi

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

Parametry

TargetSpace1 szarość, 2 RGB, 3 CMYK

Wartości zwracane

CountLiczba kolorów przekonwertowanych w całym dokumencie
0Nic nie wymagało konwersji albo TargetSpace było poza zakresem od 1 do 3. Strona, której kolory znajdują się już w przestrzeni docelowej, zachowuje pierwotne bajty

Uwagi

Konwersja używa zwykłej arytmetyki urządzenia, a nie zarządzania kolorami: dokument zawierający tylko DeviceRGB nie ma profilu, przez który można konwertować. RGB jest przekształcane w szarość według wag luminancji ITU-R BT.601, a CMYK zgodnie z ISO 32000-1 §8.6.4.4, czyli tak samo jak robi to przeglądarka podczas wyświetlania dokumentu CMYK na ekranie

Kolory ustawione za pomocą przestrzeni ICCBased, Separation, Indexed lub Pattern pozostają bez zmian. Odczyt ich składowych bez profilu zmieniłby wygląd strony zamiast go zachować, dlatego taki dokument jest konwertowany tylko w częściach, które bezpośrednio wskazują przestrzeń urządzenia

Obrazy rysowane przez stronę również są konwertowane, gdy obraz ma osiem bitów na składnik, przestrzeń kolorów urządzenia i brak kompresji albo zwykłą kompresję Flate. Obraz JPEG lub faksowy wymagałby ponownego zakodowania, co jest inną operacją niż konwersja kolorów, dlatego zachowuje własne bajty

Obraz Indexed jest zamiast tego konwertowany przez tabelę kolorów, dzięki czemu próbki zachowują dotychczasowe indeksy. Ta ścieżka nie zależy od sposobu pakowania lub kompresji próbek, dlatego zrzut ekranu albo wykres z paletą można przekonwertować mimo braku możliwości przepisania próbek

Gradienty są konwertowane wraz z funkcjami, które za nimi stoją, dlatego przestrzeń i punkty zatrzymania zawsze pozostają zgodne. Gradient zbudowany z funkcji próbkowanej lub PostScript zachowuje własne kolory, podobnie jak typy cieniowania siatkowego, które przechowują kolory w strumieniu, a nie w funkcji

Miękkie maski i maski szablonowe pozostają bez zmian. Oba rodzaje są odczytywane jako pokrycie, a nie kolor, a konwersja spowodowałaby wyświetlenie maski jako obrazu

Geometria, tekst, przycinanie i wszystkie pozostałe operatory są zapisywane bez zmian

Wybrana strona jest przywracana po powrocie z wywołania

Przykład

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

Zobacz również

RecolorPage, SetFillColor, SetFillColorCMYK