Warum werden einige SVG-Filter beim Erstellen eines SVG in Adobe Illustrator automatisch in PNG konvertiert?

7

Ich habe mich gefragt, warum einige der in Illustrator gefundenen SVG-Filter PNGbeim Exportieren der gesamten Datei automatisch in konvertiert werden SVG. Ich möchte PNGwegen der Skalierbarkeit keine versteckten Dateien.

Anders ausgedrückt:

Warum werden einige der von mir erstellten Effekte gerastert, obwohl ich in einer Vektoranwendung mit einem Vektordateiformat arbeite?

hallo_jo
quelle
Stellen Sie sicher, dass die betreffenden Objekte SVG-Effekte haben, die zuletzt im Darstellungsfenster angezeigt werden. Es sollten keine weiteren Effekte folgen.
cclark413
Danke für den Kommentar. Ich habe versucht, aber immer noch das gleiche Problem. Das einzige, was ich unter dem Effekt habe, den ich verwenden möchte (im Darstellungsfenster), ist seine Deckkraft, die anscheinend nicht verschoben werden kann: /
hello_jo
1
Ist diese Kunst 100% Vektor? Keine Texturen oder platzierten Dateien und nur die einzelne Deckkraft angewendet?
Horatio
Ja, 100% Vektor. Es hat viele Ebenen, aber nichts aus anderen Dateien platziert. Der SVG-Effekt, den ich verwende, ist der "GaussianBlur4". Das Element (ein Kreis) mit diesem Effekt verwandelt sich in eine PNG-Datei, wenn die gesamte Datei nach .svg exportiert wird: / Ich erhalte also eine .svg-Datei mit einer versteckten .png-Datei. Nochmals vielen Dank für die Hilfe Jungs!
Hallo_jo
Eine Möglichkeit, dies zu umgehen, besteht darin, den Filter zu entfernen und anschließend das SVG mit einem Texteditor zu bearbeiten und den Filter wieder zu kopieren. Es ist eine Problemumgehung, aber am Ende optimiere ich auch andere Dinge, damit es funktioniert.
mix3d

Antworten:

3

SVGs können auf andere SVGs oder Bilder verweisen. Beim Testen der SVG-Ausgabe von Illustrator (Illustrator CC 17.1.0) führte das Anwenden von SVG AI_GaussianBlur_4 auf ein Kreisobjekt mit einer Verlaufsfüllung nur zu SVG-Markups in der Datei. Ich habe das noch einmal gemacht, aber diesmal habe ich einen Schlagschatten und dann die SVG AI_GaussianBlur_4 angewendet. Der Code enthielt ein Bild. Wenn ich 2 SVG-Filter auf das Objekt angewendet habe, enthielt die SVG ein Bild.

Auf dieser Grundlage würde ich sagen:

  • Wenn Ihre Datei enthält keine Effekte , die nicht SVG - Filter sind, und erfordern Rasterung zu (Stilisierungsfilter > Schlagschatten oder einer der Photoshop - Filter) Sie gehen mit einem Bild in der Datei eingebettet , um am Ende.
  • Wenn in Ihrer Datei mehr als ein SVG-Filter auf ein Objekt angewendet wird, wird ein eingebettetes Bild angezeigt.

Ich würde spekulieren, dass ein oder zwei Dinge allein oder zusammen der Fall sind:

  • Das von Illustrator verwendete SVG-Plugin checkt das Bildmaterial einfach aus und übergibt es dem Rasterizer. Jedes Mal, wenn es auf mehr als einen Effekt auf ein Objekt stößt, wird eine PNG-Rückmeldung angefordert.
  • Um das Erscheinungsbild des Bildmaterials zu erhalten, insbesondere unter Berücksichtigung von Browservariationen, rastert Illustrator alle Objekte, deren Auswirkungen nicht spezifisch SVG sind oder die aufgrund ihrer Komplexität schlecht gerendert werden können und deren Browserunterschiede nicht berücksichtigt werden.

Zu testen:

  1. Erstellen Sie eine neue Datei und zeichnen Sie ein einzelnes Objekt darin

  2. Stellen Sie sicher, dass das Objekt ausgewählt ist

  3. Wählen Sie Effekt> SVG-Filter…> AI_GaussianBlur_4

  4. Wählen Sie Datei> Speichern

  5. Wählen Sie im Pulldown-Menü Format die Option SVG

  6. Klicken Sie auf Speichern

  7. Klicken Sie auf SVG-Code…

  8. Dadurch wird eine Textdatei mit dem SVG-Markup geöffnet. Kein eingebettetes Bild.

  9. Kehren Sie zu Illustrator zurück und brechen Sie im Dialogfeld Speichern ab

  10. Machen Sie AI_GaussianBlur_4 rückgängig

  11. Wählen Sie Effekt> Stilisieren> Schlagschatten…

  12. Übernehmen Sie die Standardeinstellungen

  13. Wählen Sie Datei> Speichern

  14. Wählen Sie im Pulldown-Menü Format die Option SVG

  15. Klicken Sie auf Speichern

  16. Klicken Sie auf SVG-Code…

  17. Dadurch wird eine Textdatei mit dem SVG-Markup geöffnet. Es wird ein eingebettetes Bild haben .

Mit dieser Methode habe ich verschiedene Kombinationen von Filtern und Objekten erstellt. Ich erwähne:

  • Sowohl ein Stilisierungs- als auch ein SVG-Filter für ein einzelnes Objekt = eingebettetes Bild
  • Zwei SVG-Filter, die auf ein einzelnes Objekt angewendet werden = eingebettetes Bild
  • Zwei SVG-Filter, einer auf Objekt A, der zweite auf Objekt B = KEIN eingebettetes Bild
  • Drei SVG-Filter, einer auf Objekt 1 und zwei auf Objekt 2 = eingebettetes Bild
Jon
quelle
Es kann auch sein, dass der Illustrator bei Überlappung von zwei Objekten möglicherweise gerastert werden muss, wenn das andere Objekt ansonsten nicht vollständig aufgelöst werden kann.
Joojaa