Eksportuj obraz jako SVG w GIMP

85

Mam projekt, nad którym pracowałem (obraz) w GIMP i chciałbym go wyeksportować jako plik SVG. Czy to możliwe, czy też będę musiał trzymać się eksportu wielu rozmiarów obrazu?

Wiem, że GIMP potrafi czytać pliki SVG, ale czy może je eksportować?

RPiAwesomeness
źródło

Odpowiedzi:

106

GIMP v2.8 nie eksportuje natywnie bitmap do plików SVG. Kiedyś była to wtyczka, ale ten projekt najwyraźniej został przerwany. Możemy zaimportować obraz jako obiekt bitmapowy do Inkscape Zainstaluj inkscape i zapisać go jako plik SVG. Obraz pozostanie wtedy plikiem bitmapy, tzn. Otrzyma artefakty aliasingu podczas skalowania (patrz poniżej).

Ale Inkscape może zrobić jeszcze więcej. Możemy zaimportować mapy bitowe, w które włożyliśmy już tyle pracy, do Inkscape i przekonwertować je kilkoma kliknięciami myszy na ładną grafikę wektorową.

Oto jak to zrobić:

  1. Otwórz Inkscape.
  2. Wybierz „Plik - Importuj”, aby zaimportować plik bitmapy.
  3. Wybierz „osadzić” obraz.
  4. Wybierz obraz za pomocą narzędzia wyboru ( ).
  5. Wybierz Ścieżka - Śledź Bitmapę ... dla ustawień (pokazane poniżej dla 2 kolorów = „Skany” ):

    wprowadź opis zdjęcia tutaj

  6. Wybierz „Aktualizuj”, aby wyświetlić podgląd, aż ustawienia będą prawidłowe.

  7. Rozpocznij śledzenie za pomocą „OK” .

Teraz wektoryzowany obraz oryginalnej mapy bitowej będzie widoczny na górze mapy bitowej. Możemy zmienić rozmiar lub przenieść ten nowo utworzony obiekt, usunąć oryginalny obraz lub wybrać „Obiekt - Rozgrupuj” na wypadek, gdybyśmy musieli dostosować kształty lub kolory tworzonego podobiektu.

  1. W razie potrzeby zmniejsz rozmiar wektoryzowanego obrazu (przytrzymaj klawisz CTRL i stosunek blokady), aby pasował do strony. W przeciwnym razie może wyglądać na „przycięty” podczas przeglądania.
  2. Użyj „Plik - Zapisz jako”, aby zapisać plik w formacie SVG.

Zaletę grafiki wektorowej można najszybciej zauważyć, gdy zwiększymy jej rozmiar. Poniżej pokazano powiększenie do 2500%. Góra to oryginalna mapa bitowa, dół to obiekt wektorowy:

wprowadź opis zdjęcia tutaj
Ten obraz i obiekt zostały utworzone z oryginału z czatu

Takkat
źródło
1
Dzięki za miły przegląd. Możesz poprawić swoją odpowiedź, udzielając odpowiedzi na pierwotne pytanie. Photoshop CC może eksportować obrazy SVG, więc czy Gimp może to zrobić?
Daniels
1
@daniels: Gimp można wyeksportować bitmapę osadzoną w SVG za pomocą wtyczki, ale ta (jak PS btw) nie prześledzi bitmapy do wektora. W tym celu potrzebujesz Inkscape lub innego znacznika, np. Automatycznego śledzenia. Dla tych ostatnich jest wtyczka Trace gimp, której nie testowałem.
Takkat
@Takkat, rozszerzenie gimpToSVG ​​już nie istnieje
kokbira
@Takkat, gdzie? Na github.com/jabiertxof/gimpToSVG można zobaczyć tylko informacje o „przeniesionej do GitLab”. Na podanym linku GitLab, gitlab.com/jabiertxof/gimpToSVG , nie można pobrać i zobaczyć kodu „Potrzebujesz zgody. Chcesz zobaczyć dane? Poproś administratora o dostęp.”, Ale gdzie?
kokbira
@Takkat, próba git.exe pull -v --progress "https://gitlab.com/jabiertxof/gimpToSVG/"zwraca „zdalnie: nie możesz pobrać kodu z tego projektu. / Fatal: nie można uzyskać dostępu do ' gitlab.com/jabiertxof/gimpToSVG.git ': błąd żądanego adresu URL zwrócił błąd: 403 / git nie został poprawnie zamknięty (kod wyjścia 1) (21075 ms @ 13/06/2017 08:29:28) "
kokbira
18

Mimo że Gimp nie jest programem wektorowym, można wyeksportować pojedyncze ścieżki jako plik SVG z Export Pathelementem menu.

Oto samouczek fotograficzny, który szczegółowo wyjaśnia, jak to zrobić.

Suzana
źródło
12

GIMP to aplikacja do edytowania grafiki rastrowej. SVG jest formą grafiki wektorowej. Jeśli chcesz edytować pliki SVG, powinieneś zainstalować inkscapepakiet i zamiast tego użyć Inkscape. Pamiętaj też, że SVG nie jest w pełni „skalowalny” w tym sensie, że uzyskasz dobry obraz w każdym skalowanym rozmiarze, więc w zależności od tego, co tworzysz, może być konieczne narysowanie różnych rozmiarów obrazu za pomocą różne ilości szczegółów, dzięki czemu obrazy będą dobrze wyglądać w tych rozmiarach. Na przykład ikony aplikacji muszą być rysowane w różnych rozmiarach, bez względu na to, czy są rysowane jako obrazy rastrowe, czy wektorowe.

dobey
źródło
7

Jeśli potrzebujesz przekonwertować obraz rastrowy na obraz wektorowy, automatyczne śledzenie jest narzędziem wiersza poleceń, które właśnie to robi.

Jest dostępny jako pakiet debian na Debian i Ubuntu o nazwie autotrace

Przykładem użycia jest:

autotrace input.jpg --output-file output.svg --output-format svg

Aktualizacja: Miałem również sukces z potrace, gdzie autotrace miał problemy.

Tully
źródło
3
Próbowałem z dwoma obrazkami, a to daje, Read Errora inne [7B]pT[F5]: invalid chunk type... są ważne png btw
Adrian
1
@Adrian, czy autotrace input.png --output-file output.svg --output-format svgzamiast tego nie powinno być polecenia ?
Iulian Onofrei
@Adrian Mam to samo, ale właśnie sprawdziłem stronę internetową i myślę, że nie obsługuje PNG. Próbowałem PBM, a potem zadziałało!
poshaughnessy
Nie rozpoznał png, więc przekonwertowałem go na jpg. Z jpg o wielkości 200 KB powstało prawie 6 MB svg. Powód: w zasadzie bierze każdy pojedynczy piksel jako mały kwadrat. Nie nadaje się do użycia w tej formie.
Csaba Toth,
2
Dla przyszłych czytelników warto zauważyć, że InkScape (zaznaczony w wybranej odpowiedzi) obecnie używa podziału spinania Potrace do swojego narzędzia „Trace Bitmap”. Dlatego nie powinno być znaczącej różnicy między wynikami potrace a narzędziem śledzenia InkScape.
Spencer D
0

potracejest do tego narzędziem. Możesz je przetwarzać zbiorczo, ale najpierw musisz przekonwertować obrazy na monochromatyczne:

ls ./p*.jpg | xargs -L1 -I {}  convert -monochrome {} {}.bmp
ls -1 ./*.bmp | xargs -L1 -I {} potrace {} -r 300 -b svg -o {}.svg

zainstalować:

sudo apt install potrace
Eduard Florinescu
źródło