GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Konvertieren Sie TrueType-Glyphen in ein PNG-Bild?

Python3

Da sich niemand wirklich mit dem Teil befasst hat, der für C++, Python, Ruby oder Perl spezifiziert, ist hier der Python3-Weg. Ich habe versucht, anschaulich zu sein, aber Sie können die Arbeit so vereinfachen, wie Sie es brauchen.

Anforderungen:PIL (Kissen)

ImageDraw- und ImageFont-Modul von PIL

# pip install Pillow
from PIL import Image, ImageFont, ImageDraw

# use a truetype font (.ttf)
# font file from fonts.google.com (https://fonts.google.com/specimen/Courier+Prime?query=courier)
font_path = "fonts/Courier Prime/"
font_name = "CourierPrime-Regular.ttf"
out_path = font_path

font_size = 16 # px
font_color = "#000000" # HEX Black

# Create Font using PIL
font = ImageFont.truetype(font_path+font_name, font_size)

# Copy Desired Characters from Google Fonts Page and Paste into variable
desired_characters = "ABCČĆDĐEFGHIJKLMNOPQRSŠTUVWXYZŽabcčćdđefghijklmnopqrsštuvwxyzž1234567890‘?’“!”(%)[#]{@}/&\<-+÷×=>®©$€£¥¢:;,.*"

# Loop through the characters needed and save to desired location
for character in desired_characters:
    
    # Get text size of character
    width, height = font.getsize(character)
    
    # Create PNG Image with that size
    img = Image.new("RGBA", (width, height))
    draw = ImageDraw.Draw(img)
    
    # Draw the character
    draw.text((-2, 0), str(character), font=font, fill=font_color)
    
    # Save the character as png
    try:
        img.save(out_path + str(ord(character)) + ".png")
    except:

        print(f"[-] Couldn't Save:\t{character}")

wget http://sid.ethz.ch/debian/ttf2png/ttf2png-0.3.tar.gz
tar xvzf ttf2png-0.3.tar.gz
cd ttf2png-0.3 && make
./ttf2png ttf2png -l 11 -s 18 -e -o test.png /path/to/your/font.ttf
eog test.png&

wahrscheinlich teilweise Duplikat von How can I convert TTF glyphs to .png files on the Mac for free?

imagemagick kann diese Art von Anfragen erfüllen, sollte auf Mac/Linux/Windows gut funktionieren. :-)

convert -background none -fill black -font font.ttf -pointsize 300 label:"Z" z.png

Wenn eine Stapelkonvertierung erforderlich ist, können Sie vielleicht ein kleines Ruby-Skript namens ttf2png verwenden.


Das PIL bietet dafür eine API, die aber einfach zu bedienen ist. Sobald Sie das PIL-Bild haben, können Sie es exportieren.


Linux
  1. optipng für Bildoptimierung

  2. pngcrush zur Bildoptimierung

  3. imagemagick zur Bildoptimierung

  4. So konvertieren Sie Bildformate in cPanel

  5. Fügen Sie einen Textabschnitt in ein PNG-Bild ein

4 Möglichkeiten zur Batch-Konvertierung von PNG in JPG und umgekehrt

Wie konvertiere ich PNG, JPEG in WebP in Ubuntu? (Auch WebP zu PNG und JPEG)

So konvertieren Sie eine PDF-Datei in ein PNG/JPG-Bild unter Linux

So komprimieren Sie eine PNG-Bilddatei unter Linux

So konvertieren Sie PDF in ein Bild mit Gimp

Automatische Bildverbesserung für Ubuntu