Konvertieren Sie die SVG-Datei mit Python in png / ico

Einführung

Umgebung

How to do it

Wenn ich leicht gegoogelt habe, gab es viele Beispiele für die Konvertierung in der Reihenfolge svg-> png-> ico.

svg -> png

Es scheint, dass svg-> png mit cairosvg konvertiert werden kann.

Installation

$ pip install cairosvg

Es scheint, dass die Ausführungsdatei enthalten ist, also führen Sie sie so aus, wie sie ist.

Und ein Fehler ...

$ cairosvg sample.svg -o sample.png
Traceback (most recent call last):
  File "/Users/tommarute/miniconda3/envs/py366/bin/cairosvg", line 6, in <module>
    from cairosvg.__main__ import main
  File "/Users/tommarute/miniconda3/envs/py366/lib/python3.6/site-packages/cairosvg/__init__.py", line 42, in <module>
    from . import surface  # noqa isort:skip
  File "/Users/tommarute/miniconda3/envs/py366/lib/python3.6/site-packages/cairosvg/surface.py", line 28, in <module>
    from .defs import (
  File "/Users/tommarute/miniconda3/envs/py366/lib/python3.6/site-packages/cairosvg/defs.py", line 24, in <module>
    from .bounding_box import calculate_bounding_box, is_non_empty_bounding_box
  File "/Users/tommarute/miniconda3/envs/py366/lib/python3.6/site-packages/cairosvg/bounding_box.py", line 26, in <module>
    from .features import match_features
  File "/Users/tommarute/miniconda3/envs/py366/lib/python3.6/site-packages/cairosvg/features.py", line 25, in <module>
    LOCALE = locale.getdefaultlocale()[0] or ''
  File "/Users/tommarute/miniconda3/envs/py366/lib/python3.6/locale.py", line 562, in getdefaultlocale
    return _parse_localename(localename)
  File "/Users/tommarute/miniconda3/envs/py366/lib/python3.6/locale.py", line 490, in _parse_localename
    raise ValueError('unknown locale: %s' % localename)
ValueError: unknown locale: UTF-8

Irgendwie scheint das Gebietsschema unbekannt zu sein

Versuchen Sie anzugeben

$ LC_CTYPE="ja_JP.UTF-8" cairosvg sample.svg -o sample.png

Ich hab es geschafft.

$ ls -ltr
total 16
-rw-r--r--  1 tommarute  user   348 Nov 17 22:15 sample.svg
-rw-r--r--  1 tommarute  user  1473 Nov 17 22:16 sample.png

png -> ico

Es scheint, dass png-> ico mit pillow verwendet werden kann.

Installation

$ pip install pillow

Hier gibt es keine ausführbare Datei. Verwenden Sie sie daher als Bibliothek.

In [1]: from PIL import Image

In [2]: fn = r'sample.png'

In [3]: img = Image.open(fn)

In [4]: img.save('favicon.ico')

In [5]:

Ich hab es geschafft.

$ ls -ltr
total 48
-rw-r--r--  1 tommarute  user    348 Nov 17 22:15 sample.svg
-rw-r--r--  1 tommarute  user   1473 Nov 17 22:16 sample.png
-rw-r--r--  1 tommarute  user  12993 Nov 17 22:20 favicon.ico

Schließlich

Es ist ein bisschen so, also machen wir es zu einem etwas besseren Skript.

import sys
import os
os.environ['LC_CTYPE'] = "ja_JP.UTF-8"
import cairosvg
from PIL import Image


def run(svg, ico):
    print(f'svg = {svg}')
    print(f'ico = {ico}')
    png = f'{svg}.png'
    cairosvg.svg2png(url=svg, write_to=png)
    img = Image.open(png)
    img.save(ico)
    print('Deleting temporary png file.')
    os.unlink(png)
    print('svg2ico has finished normally.')

def main():
    args = sys.argv
    run(args[1], args[2])


if __name__ == '__main__':
    main()


Das Ende

Referenz

Recommended Posts

Konvertieren Sie die SVG-Datei mit Python in png / ico
Konvertieren Sie die psd-Datei in Python in png
Konvertieren Sie PDF in Bilder (JPEG / PNG) mit Python
So konvertieren Sie eine JSON-Datei mit Python Pandas in eine CSV-Datei
Ausgabe in eine CSV-Datei mit Python
Konvertieren Sie die Liste mit Python in DataFrame
Bis Sie die SVG-Datei mit AutoCAD zu PNG bearbeiten.
[Python] So konvertieren Sie eine Datenbankdatei in CSV
Konvertieren Sie Memos sofort mit Python 2to3
So konvertieren Sie Python in eine exe-Datei
[Python] Konvertieren Sie CSV-Dateibegrenzer in Tabulatortrennzeichen
Konvertieren Sie Excel-Daten mit Python in JSON
Konvertiere Hiragana mit Python (Beta) in Romaji
Konvertieren Sie PDF-Dateien mit GIMP in PNG-Dateien
Konvertieren Sie chinesische Zahlen mit Python in arabische Zahlen
Beispiel für die Wavelet-Konvertierung von Bildern in Python
Aktiviert, um PNG mit Pillow of Python in JPG zu konvertieren
DICOM zu PNG Konvertierung mit aufsteigend und absteigend
Konvertieren Sie 202003 bis 2020-03 mit Pandas
Konvertieren Sie PDFs mit Python in Massenbilder
[Python] Konvertieren von DICOM in PNG oder CSV
Konvertieren Sie Windows-Epochenwerte mit Python in das Datum
Lesen Sie die CSV-Datei mit Python und konvertieren Sie sie unverändert in DataFrame
Konvertieren Sie den Zeichencode der Datei mit Python3
Ich möchte mit Python in eine Datei schreiben
Konvertieren Sie die Zeichenfolge mit Python in ein zeichenweises Listenformat
So konvertieren / wiederherstellen Sie einen String mit [] in Python
Prozedur zum Laden von MNIST mit Python und zur Ausgabe an png
Konvertieren Sie eine Textdatei mit hexadezimalen Werten in eine Binärdatei
Ich habe versucht, eine CSV-Datei mit Python zu berühren
So messen Sie die Wiedergabezeit von MP3-Dateien mit Python
Konvertieren Sie das Bild in .zip mit Python in PDF
PyInstaller-Memorandum Konvertieren Sie Python [.py] in [.exe] mit 2 Zeilen
Stellen Sie mit Python eine Verbindung zu BigQuery her
Konvertieren Sie numpy int64 in python int
[Python] Liste in Pandas konvertieren [Pandas]
Konvertieren Sie HTML in eine Textdatei
Zeichnen Sie eine netCDF-Datei mit Python
Stellen Sie mit Python eine Verbindung zu Wikipedia her
Post to Slack mit Python 3
Konvertieren Sie das Scratch-Projekt in Python
[Python] Konvertieren Sie Shift_JIS in UTF-8
Schalten Sie Python mit Alternativen auf 2.7 um
Schreiben Sie mit Python in csv
Konvertieren Sie die Genbank-Datei in die GFF-Datei
Laden Sie die CSV-Datei mit Python herunter
Konvertieren Sie Python 3.x-Code in Python 2.x.
So konvertieren Sie mit Python [Anwendung] von einem Array in ein Wörterbuch
Konvertieren Sie Bilder mit PIL (Python Imaging Library) in Sepia.
[Python Kivy] So erstellen Sie mit pyinstaller eine exe-Datei
Konvertieren Sie Videos mit ffmpeg + python + opencv in Schwarzweiß
Lesen einer Excel-Datei (.xlsx) mit Pandas [Python]
Versuchen Sie, die verstümmelten Zeichen im angehängten Dateinamen mit Python zu entschlüsseln
Konvertieren Sie eine Excel-Datei für verschiedene Zwecke in Python in Text
Konvertieren Sie .ipynb in .html (mit BatchFile)
Link, um mit Python zu beginnen