PerfectVector
Autor: Irene Kim

Przezroczyste tło EPS: co pozostaje niezamalowane?

Rozpoznaj przyczynę białego pola EPS: odróżnij niezamalowany obszar, kryjące tło i aktywną przezroczystość. Sprawdź renderingi i ograniczenia eksportera.

8 min czytania
Na tej stronie

EPS może pozostawić obszar wokół grafiki niezamalowany. To co innego niż zachowanie aktywnej częściowej przezroczystości w grafice. Białe otoczenie może być stroną podglądu, rzeczywistym białym prostokątem albo wynikiem spłaszczenia. Ustal przyczynę, zanim cokolwiek usuniesz.

Istnieje też ograniczenie produktu: obecny eksport EPS w PerfectVector maluje nieprzezroczyste białe lub czarne tło strony i nie zachowuje aktywnej przezroczystości. Nie jest to sposób eksportowania przezroczystych EPS. Poniższe niezależnie utworzone próbki EPS pokazują różnicę między plikami; nie są wynikami PerfectVector.

Ustal, czym jest biały obszar

Co widziszMożliwe wyjaśnieniePrzydatny kolejny krok
Grafika w jednym podglądzie jest na bieliPrzeglądarka pliku pokazuje białą stronę albo biel jest namalowana w plikuPorównaj rzeczywistą grafikę na kolorowym tle w docelowym procesie
Biały prostokąt zakrywa kolorowe tłoMoże istnieć nieprzezroczysty obiekt lub spłaszczony obrazSprawdź oryginalne obiekty i osadzony raster
Puste otoczenie działa, ale półprzezroczysty obiekt staje się kryjącyEksport nie zachował aktywnego efektu przezroczystościSprawdź format i eksporter, potem porównaj z edytowalnym źródłem
Plik otwiera się inaczej w aplikacji źródłowej i innej aplikacjiProgramy mogą odczytywać inne reprezentacjeZweryfikuj wynik umieszczenia lub wymiany, nie tylko ponowne otwarcie w aplikacji źródłowej

Niezamalowany oznacza, że żadna operacja rysowania nie pokrywa tego obszaru. Częściowe krycie oznacza, że obiekt tylko częściowo uczestniczy w kompozycji z tym, co jest za nim. Nieprzezroczysta niebieska łódka z pustym otoczeniem i niebieska łódka o połowicznym kryciu mają inne wymagania.

Dokumentacja przezroczystości i spłaszczania Adobe wyjaśnia, że Illustrator EPS może zawierać natywne dane Illustratora obok spłaszczonych danych EPS. Ponowne otwarcie w Illustratorze może odczytać reprezentację natywną, natomiast umieszczenie w innej aplikacji odczytuje reprezentację EPS. Udane otwarcie w aplikacji źródłowej nie dowodzi więc jednakowego działania aktywnej przezroczystości wszędzie.

Spłaszczanie dzieli przezroczystą grafikę na inne reprezentacje, potencjalnie obejmujące obszary rastrowe. Zachowaj edytowalny oryginał, jeśli przyszłe zmiany krycia lub tła mają znaczenie.

Porównaj dwa pliki EPS i oddzielną próbkę SVG

Utworzyliśmy nowy emblemat papierowej łódki w dwóch prostych plikach EPS. Oba mają granice 240 × 160 i identyczne polecenia rysujące nieprzezroczystą grafikę. Drugi dodaje jedno białe wypełnienie całej strony przed łódką:

1 1 1 setrgbcolor
0 0 240 160 rectfill

Usunięcie tej znanej operacji tła z drugiej próbki odtwarza pierwszy plik dokładnie. To kontrolowana para, a nie sposób na ślepe usuwanie tekstu z dowolnych EPS.

Ghostscript 10.08.0 wyrenderował oba pliki urządzeniem pngalpha w 144 dpi. Sprawdziliśmy zapisane PNG w punktach wewnętrznych, z dala od wygładzanych krawędzi:

PróbkaAlfa otoczeniaAlfa wnętrza łódkiInterpretacja
Niezależnie utworzony EPS bez wypełnienia strony0255Renderer pozostawił otoczenie niepokryte; łódka jest nieprzezroczysta
Ta sama grafika EPS po białym wypełnieniu strony255255Biała strona jest namalowana i nieprzezroczysta
Oddzielny SVG z kryciem grupy 0.50Około 128Sama łódka ma częściowe krycie w tej próbce SVG

Wartości używają 8-bitowej skali alfa: 0 oznacza przezroczystość, a 255 pełne krycie. Próbkę SVG wyrenderowano oddzielnie za pomocą Sharp/librsvg; nie konwertowano jej na EPS.

Rzeczywiste renderingi Ghostscript niezależnych próbek EPS bez zamalowanego tła i z białym tłem obok oddzielnego SVG z częściowym kryciem, każde na szachownicy i jasnobrązowym tle
Niezależne próbki EPS i oddzielna próbka SVG. PNG z EPS pokazują pokrycie wyjścia Ghostscript, a nie aktywną alfę EPS. To nie eksporty PerfectVector, testy aplikacji do składu ani wyniki fizycznego druku.

Dokumentacja urządzeń wyjściowych Ghostscript definiuje alfę PNG jako pokrycie pikseli i podaje, że tło jest przezroczyste, o ile nie zostanie jawnie wypełnione. To wyjaśnia wynik. Przezroczysty PNG wokół łódki jest wyjściem renderera; nie dowodzi istnienia pola EPS odpowiadającego aktywnemu kryciu SVG.

Inspekcja w przeglądarce zdekodowała zapisane obrazy i umieściła je na jasnobrązowym tle. Tło pozostało widoczne wokół pierwszej łódki, biały prostokąt zakrył je w drugim przypadku, a częściowo kryjąca łódka SVG zmieszała się z nim. Te kontrole potwierdzają zachowanie zapisanych próbek i tych rendererów, nie import EPS w każdej aplikacji do składu.

Odtwórz kontrolę renderingu na pliku testowym

Zapisz poniższy przetestowany kod jako unpainted.eps:

%!PS-Adobe-3.0 EPSF-3.0
%%BoundingBox: 0 0 240 160
%%HiResBoundingBox: 0 0 240 160
%%LanguageLevel: 2
%%Pages: 1
%%Title: Original paper-boat background specimen
%%Creator: Independently authored article fixture
%%EndComments
gsave
% ORIGINAL BOAT ARTWORK
0.192157 0.364706 0.435294 setrgbcolor
newpath 55 65 moveto 185 65 lineto 165 40 lineto 75 40 lineto closepath fill
newpath 115 75 moveto 115 135 lineto 65 100 lineto closepath fill
newpath 125 75 moveto 170 75 lineto 125 120 lineto closepath fill
grestore
showpage
%%EOF

Dla drugiej próbki zapisz kopię jako white-painted.eps. Wstaw trzy pokazane wyżej wiersze białego wypełnienia bezpośrednio po gsave, przed % ORIGINAL BOAT ARTWORK. Nie zmieniaj poleceń łódki.

Po zainstalowaniu Ghostscript uruchom:

gs -dSAFER -dBATCH -dNOPAUSE -dEPSCrop \
  -sDEVICE=pngalpha -r144 \
  -sOutputFile=unpainted.png unpainted.eps

Drugie polecenie podstawia white-painted.png i white-painted.eps. Zwykłe urządzenie RGB PNG nie przeprowadzałoby tego samego testu alfa. Wynik trzeba również obejrzeć jako obraz z włączoną przezroczystością; biały obszar roboczy za przezroczystym PNG może ponownie ukryć różnicę.

Dla naszych plików porównanie jest zakończone, gdy narożnik nie jest pokryty w próbce bez wypełnienia, a w próbce z wypełnieniem jest nieprzezroczysty i biały, podczas gdy wnętrze łódki w obu pozostaje kryjące. Oddzielna próbka SVG sprawdza inną właściwość: częściowe krycie wewnątrz namalowanego kształtu.

Napraw przyczynę w edytowalnej grafice

Jeśli istnieje biały obiekt: pracuj na kopii oryginalnego edytowalnego pliku. Potwierdź, który obiekt tworzy otaczającą biel, ukryj go i porównaj pozostałą grafikę na kontrastowym kolorze. Zachowaj celowe białe szczegóły, takie jak litery czy rozjaśnienia. Wyeksportuj ponownie metodą, która rzeczywiście pozostawia otoczenie niezamalowane, a potem zweryfikuj dostarczony plik w aplikacji odbiorcy.

Jeśli biel jest tylko stroną podglądu: zmiana grafiki może uszkodzić plik, który już ma właściwe puste otoczenie. Użyj testu z tłem w docelowym procesie lub odpowiedniego renderingu pokrycia, aby ustalić, czy biel jest namalowana.

Jeśli biel jest wtopiona w bitmapę lub spłaszczony wynik: usunięcie jednego prostokąta strony może nie przywrócić oryginalnych krawędzi ani krycia. Jeśli to możliwe, wróć do źródła z warstwami lub wektorami. Płaską rastrową sylwetkę można obrysować lub narysować ponownie, gdy potrzebne są ścieżki, ale miękki cień czy rozmyta krawędź wymagają procesu zachowującego zamierzony wygląd.

Jeśli częściowe krycie ma pozostać edytowalne: zachowaj obsługujący je format i eksporter oraz potwierdź wymagania odbiorcy. Specyfikacja SVG fill-opacity definiuje malowanie z częściowym kryciem wypełnienia; nasza próbka SVG używa krycia grupy. Adobe dokumentuje też procesy PDF zachowujące przezroczystość. Sama nazwa żadnego z formatów nie gwarantuje, że konkretny eksport lub importer zachowa każdy efekt.

Jeśli problem zaczyna się w SVG, poradnik przezroczystego tła SVG omawia obiekty tła i kontrole eksportu. Jeśli musisz ustalić, czy EPS zawiera ścieżki czy osadzony obraz, skorzystaj z poradnika inspekcji struktury EPS.

Co obecnie robi eksport EPS w PerfectVector

Poradnik eksportu EPS PerfectVector podaje, że wynik używa płaskich wypełnionych ścieżek wektorowych z nieprzezroczystym białym lub czarnym tłem. Obecny moduł zapisu maluje to tło całej strony i odrzuca pośrednie wartości alfa, zamiast zachowywać je jako aktywny efekt EPS.

Usunięcie tła rastra przed rekonstrukcją nie zmienia tej zasady eksportu EPS. Grafika na etapie edycji może nie mieć niechcianego otaczającego kształtu, a wybrany moduł wyjściowy mimo to może dostarczyć nieprzezroczystą stronę.

Jeśli odpowiednie logo dostępne tylko jako raster wymaga odtworzenia ścieżek i nieprzezroczyste tło EPS jest akceptowalne, PerfectVector może dostarczyć wersję do sprawdzenia. Porównaj litery, narożniki, przestrzeń negatywową i obszary kolorów, a potem otwórz eksportowany EPS w wymaganym docelowym procesie. Nasz niezależnie utworzony EPS bez wypełnienia nie dowodzi, że produkt zapewnia taki sam wynik.

Jeśli zlecenie wymaga konkretnie niezamalowanego otoczenia EPS, użyj odpowiedniej edycji źródła i eksportu oraz zweryfikuj rzeczywisty wynik. Jeśli konieczne jest aktywne częściowe krycie, uzgodnij zamiast tego odpowiedni sposób przekazania obsługujący przezroczystość. Istniejące natywne wektory powinny pozostać natywne; fotografie, tekstury i miękkie cienie mogą lepiej pozostać rastrem lub w edytowalnym źródle.

Wyjaśnienie JPG na EPS omawia rekonstrukcję w porównaniu z opakowaniem pikseli w inny kontener. Przy mniej precyzyjnym żądaniu wykonawcy poradnik formatów logo pomaga najpierw ustalić wymagania dotyczące pliku i obiektów.

Częste pytania

Czy EPS może mieć przezroczyste tło? EPS może pozostawić otoczenie niezamalowane. Nasza niezależna próbka wyrenderowała się z niepokrytym otoczeniem w wyjściowym PNG z alfą Ghostscript. Nie oznacza to, że grafika zawiera aktywne częściowe krycie ani że każdy importer EPS zachowa się identycznie.

Dlaczego mój EPS pokazuje biały prostokąt? Biel może pochodzić z przeglądarki pliku, namalowanego obiektu, bitmapy lub spłaszczonej reprezentacji. Porównaj plik na kolorowym tle w docelowym procesie i sprawdź oryginalne obiekty, zanim cokolwiek usuniesz.

Czy PerfectVector eksportuje przezroczyste pliki EPS? Nie. Jego obecny moduł zapisu EPS maluje nieprzezroczyste białe lub czarne tło i nie zachowuje aktywnej przezroczystości. Korzystaj z niego, gdy ten wynik odpowiada zleceniu; wybierz inny zweryfikowany proces, gdy potrzebujesz niezamalowanego otoczenia lub aktywnego krycia.

Czy ponowne otwarcie Illustrator EPS dowodzi, że krycie przetrwa umieszczenie gdzie indziej? Nie. Adobe dokumentuje, że Illustrator może odczytać natywne dane zachowane obok reprezentacji EPS, podczas gdy umieszczenie w innej aplikacji odczytuje spłaszczone dane EPS. Zweryfikuj rzeczywisty wynik u odbiorcy.

Źródła

  1. Adobe — Drukowanie i zapisywanie przezroczystej grafiki — Wyjaśnia spłaszczanie i różnicę między natywnymi danymi Illustratora a wymienianymi danymi EPS.
  2. Ghostscript 10.08.0 — Urządzenia wyjściowe — Dokumentuje alfę PNG jako pokrycie i wpływ jawnie wypełnionych teł.
  3. W3C — Krycie wypełnienia SVG — Definiuje częściowe krycie wypełnienia i odróżnia je od krycia grupy.
  4. PerfectVector — Obraz na EPS — Podaje obecny zakres eksportu EPS z kryjącym tłem i płaskimi ścieżkami.

Potrzebujesz ścieżek z płaskiego rastra i akceptujesz nieprzezroczyste tło EPS? Odtwórz grafikę i sprawdź proponowany EPS. Jeśli wymagane jest niezamalowane otoczenie lub aktywne krycie, wybierz i zweryfikuj proces, który rzeczywiście je zapewnia.

Więcej z bloga

PerfectVector

Zamień plik obrazu w
edytowalny SVG

Bez karty kredytowej