GNU/Linux >> Znalost Linux >  >> Linux

Převést glyfy TrueType na obrázek PNG?

Python3

Protože se nikdo ve skutečnosti nezabýval částí, která specifikuje C++, Python, Ruby nebo Perl, zde je způsob Python3. Snažil jsem se být popisný, ale můžete si práci zjednodušit, jak potřebujete.

Požadavky:PIL (polštář)

Modul ImageDraw a ImageFont 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&

pravděpodobně částečně duplikát Jak mohu na Macu zdarma převést glyfy TTF na soubory .png?

imagemagick dokáže splnit tento druh požadavků, měl by fungovat dobře na Mac/Linux/Windows. :-)

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

pokud je potřeba dávkový převod, možná můžete zvážit použití malého rubínového skriptu s názvem ttf2png.


PIL k tomu poskytuje API, ale jeho použití je snadné. Jakmile získáte obrázek PIL, můžete jej exportovat.


Linux
  1. volba pro optimalizaci obrazu

  2. pngcrush pro optimalizaci obrazu

  3. imagemagick pro optimalizaci obrazu

  1. linuxový obrázek ze schránky

  2. Vložte kus textu do obrázku PNG

  3. Jak sloučit obrázky v příkazovém řádku?

  1. Jak převést pás Png na GIF?

  2. Převeďte obrázky Webp na PNG pomocí příkazu Linux

  3. Převést obrázek na text