PerfectVector
Autor: Irene Kim

ImageMagick: PNG do SVG i sprawdzanie modułu trasowania

Dowiedz się, czy polecenie ImageMagick PNG-to-SVG tworzy ścieżki, których używa delegat śledzenia, i dlaczego kolorowy obraz może stać się monochromatycznym śladem SVG.

8 min czytania
Na tej stronie

ImageMagick może generować ścieżki wektorowe SVG z PNG, gdy jego kompilacja i konfiguracja zapewniają trasę śledzenia. W naszej zainstalowanej konfiguracji ImageMagick 7.1.2-32, magick color-regions.png traced.svg użył Potrace 1.16 i wygenerował czarne ścieżki zamiast osadzonego pliku PNG. Stracił także oryginalne kolory i jasny obszar. Zanim zdecydujesz, czy to polecenie spełnia Twoje potrzeby, sprawdź zainstalowanego delegata i zapisany plik.

Jeśli chcesz śledzić trasę online dla tego samego pliku PNG, zacznij bezpłatnie od PerfectVector i sprawdź obszary kolorów i otwory podglądu. Edycja i eksport wymagają odblokowanego wyniku. Ten przewodnik diagnozuje lokalną trasę ImageMagick; nie porównuje jakości wyjściowej narzędzi.

Wypróbuj na własnym obrazie
Otwórz pełne narzędzie
Za darmo i bez rejestracji: upuść obraz, aby zobaczyć podgląd swojego wektora.

Zacznij od objawu, a następnie sprawdź rurociąg

Plik SVG, który otworzy się pomyślnie, może nadal być nieodpowiedni: może być monochromatyczny, gdy potrzebne są kolory, lub zawierać obraz rastrowy, gdy potrzebne są ścieżki. Nieudane polecenie jest innym objawem i wymaga rzeczywistego komunikatu o błędzie. Samo rozszerzenie nazwy pliku nie może rozstrzygnąć żadnej z tych kwestii.

Delegat to zewnętrzny program, który ImageMagick wywołuje do wykonania zadania. dokumentacja zasobów opisuje konfigurację delegata. Zapisz rzeczywistą konfigurację na swoim komputerze; polecenie skopiowane z innej instalacji może przebiegać inną trasą.

Do tej kontroli potrzebujesz kopii pliku PNG, zainstalowanego ImageMagick, terminala, edytora zwykłego tekstu i przeglądarki SVG. Zachowaj źródło niezmienione i nadaj każdemu wynikowi testu nową nazwę pliku. W naszym przykładzie zainstalowano także Potrace; jest to część testowanego środowiska, a nie zależność, którą koniecznie musi mieć każda instalacja ImageMagick.

Ilustracja
Ilustracja źródła PNG przechodzącego przez skonfigurowanego delegata śledzenia przed sprawdzeniem zapisanego pliku SVG
Sprawdź źródło, skonfigurowany moduł śledzący i zapisany plik SVG jako osobne etapy.

1. Zapisz zainstalowaną wersję i deleguj

Uruchom te polecenia w swoim terminalu:

magick -version
magick -list delegate
magick -list format

Przeczytaj listę delegatów dla wpisu trace i zanotuj nazwę programu. Nasza lista zawierała tę linię:

pnm<= trace      "'potrace' --svg --output '%o' '%i'"

To jest wpis konfiguracyjny, a nie polecenie do wklejenia do powłoki. Nazywa Potrace zewnętrznym programem śledzącym. Plik SVG, który faktycznie zapisałeś, zawierał także metadane Created by potrace 1.16, łączące tę konfigurację z obserwowanym wyjściem.

Lista formatów ImageMagick jest przydatna do sprawdzania obsługi formatów, ale przeczytaj uważnie uwagi dotyczące renderowania SVG: informacje wejściowe/renderowania Inkscape, RSVG i MSVG nie dowodzą, który program prześledził PNG do SVG. Czytanie SVG i pisanie śladu to różne kierunki.

Dlaczego inna maszyna może zachowywać się inaczej

Zapis SVG w oficjalnym 7.1.2-32 źródle zawiera osobne trasy dla skompilowanej obsługi AutoTrace, skonfigurowanego delegata TRACE i osadzonego komunikatu rezerwowego w formacie PNG, gdy w tej gałęzi nie zostanie znaleziony delegat śledzenia. Dlatego ani „ImageMagick zawsze śledzi”, ani „ImageMagick osadza tylko pliki PNG” nie są niezawodną, ​​ogólną odpowiedzią.

Źródło opisuje dostępne gałęzie; nasze aktualne polecenie określa, jaki wynik uzyskaliśmy. Nie testowaliśmy każdej gałęzi ani maszyny bez delegata. Powyższa wersja jest naszą zainstalowaną wersją testową, a nie oświadczeniem dotyczącym najnowszej wersji ImageMagick.

2. Zapisz plik SVG i sprawdź, co zawiera

Użyj własnej dozwolonej kopii PNG. Nasze dokładne polecenie testowe brzmiało:

magick color-regions.png traced.svg

Zastąp color-regions.png nazwą pliku wejściowego i użyj nowej nazwy wyjściowej. Jeśli polecenie nie powiedzie się, zachowaj błąd i sprawdź skonfigurowany program przed wypróbowaniem niepowiązanych ustawień renderowania. Wymieniony delegat sam w sobie nie udowadnia, że ​​jego plik wykonywalny jest dostępny i działa.

Otwórz zapisany plik SVG w edytorze tekstu. Poszukaj rzeczywistych elementów kształtu, takich jak <path>, dowolny element <image> i jego zawartość, do której się odwołuje, oraz wypełnień zarówno na indywidualnych ścieżkach, jak i w grupach nadrzędnych. Ścieżka może odziedziczyć czarne wypełnienie z otaczającej grupy; kolor nie musi pojawiać się na każdej linii ścieżki.

W naszym pliku grupa nadrzędna podała fill="#000000", dwa elementy ścieżki opisywały zachowane kształty i nie było elementu obrazu. To jest prawdziwa geometria ścieżki, ale nie oznacza to, że oryginalna paleta czy każdy region przetrwał. W przypadku pliku mieszanego lub opartego na obrazie skorzystaj z przewodnika dotyczącego kontroli zawartości rastrowej SVG, zamiast zgadywać na podstawie samego powiększenia.

Czym stał się nasz kolorowy PNG w tej instalacji

Stworzyliśmy oryginalny plik PNG 320 × 240 RGBA zawierający granatową prostokątną ramkę z pustym środkiem, złotym kółkiem i turkusowym trójkątem na przezroczystym tle. Przezroczyste piksele miały białe próbki RGB. Uruchomiliśmy powyższe polecenie z ImageMagick 7.1.2-32 i zainstalowaliśmy Potrace 1.16, następnie sprawdziliśmy rzeczywiste źródło SVG i wyrenderowaliśmy je niezależnie.

SprawdzaćOryginalne PNGRzeczywisty zapisany plik SVG
Rama granatowa#17344dZachowana czarna geometria
Turkusowy trójkąt#347f78Zachowana czarna geometria
Złote kółko#e5aa39Nieobecny
Otwarcie ramy i przestrzeń zewnętrznaPrzezroczystyPrzezroczysty w renderowanym wyniku
Struktura plikuRastrowe pikseleDwie ścieżki, brak elementu obrazu

Podręcznik Potrace wyjaśnia, że ​​dane wejściowe niebinarne są konwertowane na czarno-białe przy użyciu odcięcia jasności. Trasa śledzenia monochromatycznego nie przenosi palety źródłowej w postaci oddzielnych kolorowych obszarów. W tym konkretnym przypadku jasnozłoty okrąg zniknął, a ciemniejsza ramka i trójkąt stały się czarne.

Zwiększenie rozdzielczości wejściowej lub zmiana nazwy pliku SVG nie może zamienić efektu monochromatycznego w ślad koloru. Jeśli kolory mają znaczenie, wybierz proces śledzenia kolorów i sprawdź powstałe obszary. Jeśli celowo potrzebujesz jednokolorowej grafiki, użyj jawnego procesu przygotowania i śledzenia Potrace PNG, aby mieć kontrolę nad tym oddzielnym zadaniem.

Był to jeden oryginalny plik testowy kolorów w jednej zainstalowanej wersji, obsługiwany przez wcześniejszą kontrolkę kwadratu z otworem. Była to kontrola pliku cyfrowego, a nie test importu, wydruku czy cięcia w edytorze. Liczba ścieżek opisuje to wyjście; nie jest to wynik jakości.

Trzymaj jednostki rozmiaru oddzielnie od struktury ścieżki

Nasz zapisany SVG zadeklarował width="320.000000pt", height="240.000000pt" i viewBox="0 0 320.000000 240.000000". Dopasowane wartości liczbowe nie powodują wymienności punktów, pikseli źródłowych i współrzędnych SVG. Sprawdź osobno zamierzony rozmiar fizyczny, korzystając z procesu rozwiązywania problemów z rozmiarem importu SVG.

Wybierz poprawkę pasującą do danych wyjściowych

Zaobserwowany wynikNastępna akcjaWeryfikacja
Czarne ścieżki, ale potrzebne są kolorowe obszaryWybierz przepływ pracy ze śledzeniem kolorówPorównaj ważne regiony i wypełnienia z oryginalnym plikiem PNG
Czarne ścieżki są zamierzoną grafikąZachowaj trasę monochromatyczną; sprawdź brakujące szczegółySprawdź sylwetkę i wymagane rozcięcia na kontrastowym tle
SVG zawiera osadzony plik PNG zamiast potrzebnych kształtówSprawdź zainstalowaną trasę śledzenia lub użyj dedykowanego wektoryzatoraSprawdź obiekty pliku zastępującego i obrazy, do których istnieją odniesienia
Błąd polecenia związany z delegatemPrzeczytaj błąd i sprawdź dostępność i konfigurację wskazanego programuPowtórz te same małe dozwolone dane wejściowe po naprawieniu tego konkretnego problemu
Ścieżki istnieją, ale rozmiar jest nieprawidłowy w innej aplikacjiSprawdź osobno jednostki i wymiary dokumentuPotwierdź zamierzony rozmiar w aplikacji odbierającej

Rzeczywisty błąd polecenia i zainstalowana konfiguracja powinny pomóc w naprawie. W tym instruktażu nie odtworzono środowiska z brakującym plikiem wykonywalnym lub środowiskiem zawierającym błędy zasad, więc nie zaleca się uniwersalnego rozwiązania tych błędów.

W przypadku kolorowych kompozycji, które nadal wymagają formatu SVG, PerfectVector zapewnia przepływ pracy online w formacie PNG do wektora. Zacznij od oryginalnego pliku PNG i porównaj sylwetkę podglądu, obszary kolorów i puste przestrzenie. Dokładne kolory marki lub małe litery mogą nadal wymagać kontroli i korekty; jeśli krytyczny kontur jest niejasny, następnym krokiem może być celowe przerysowanie. Przewodnik po jakości plików PNG do SVG obejmuje decyzje dotyczące źródła i szczegółów.

Zakończyłeś diagnozę, kiedy możesz nazwać typ wydruku, zidentyfikować odpowiednią trasę śledzenia i wyjaśnić, czy spełnia ona Twoje potrzeby w zakresie kolorów. Zachowaj źródło, zapisany plik SVG i uwagi dotyczące wersji/konfiguracji razem. Aby wypróbować plik PNG online, zacznij bezpłatnie od PerfectVector i porównaj obszary kolorów i otwory podglądu z oryginałem.

Często zadawane pytania

Czy ImageMagick może konwertować PNG na prawdziwe ścieżki SVG?

Tak, jeśli zainstalowana kompilacja i konfiguracja zapewniają trasę śledzenia. Nasza konfiguracja ImageMagick 7.1.2-32 korzystała z Potrace 1.16 i zapisywała rzeczywiste ścieżki bez elementu obrazu. Zamiast zakładać, że każda instalacja zachowuje się w ten sam sposób, sprawdź własne dane wyjściowe.

Dlaczego mój ImageMagick SVG stał się czarno-biały?

Skonfigurowany delegat śledzenia monochromatycznego może wyjaśnić ten wynik. W naszym teście Potrace utworzył czarne ścieżki z ciemniejszych obszarów i pominął jasnozłoty okrąg. Zanim wybierzesz alternatywę ze śledzeniem kolorów, sprawdź listę delegatów i zapisane wypełnienia.

Czy wpis SVG na liście formatów gwarantuje odwzorowanie kolorów?

Nie. Sama obsługa formatu nie identyfikuje implementacji śledzenia danych wyjściowych ani nie udowadnia, że ​​zachowuje ona Twoją paletę. Przeczytaj zainstalowaną konfigurację delegata i sprawdź zapisany plik SVG.

Czy powinienem zmienić ustawienia RSVG lub MSVG, aby przywrócić kolory PNG?

Najpierw określ trasę śledzenia danych wyjściowych. Ustawienia renderowania SVG i program śledzący PNG odpowiadają na różne pytania. Nasz wynik monochromatyczny przeszedł od delegata zajmującego się śledzeniem Potrace, więc następną decyzją było to, czy ślad monochromatyczny pasuje do grafiki.

Źródła

  1. Zasoby ImageMagick — pliki konfiguracyjne i delegaci zewnętrzni.
  2. Formaty obrazów ImageMagick — listy zainstalowanych formatów i uwagi dotyczące renderowania SVG.
  3. ImageMagick 7.1.2-32 moduł zapisujący SVG — śledzenie przypiętych wersji i gałęzie osadzonych obrazów.
  4. Podręcznik Potrace — monochromatyczna interpretacja danych wejściowych i zachowanie śledzenia.

Więcej z bloga

PerfectVector

Zamień obraz w
czyste, edytowalne ścieżki wektorowe

Wektoryzuj i sprawdzaj podgląd za darmo, bez dziennego limitu.