emojinin otomatik png oluşturan

mail@pastecode.io avatar
unknown
python
5 months ago
2.0 kB
5
Indexable
import cv2
import numpy as np
from PIL import Image, ImageDraw, ImageFont

# Emojileri tanımla
emojis = [
    "\U0001F334", 
    "\U0001F422",  
    "\U0001F344",  
    "\U0001F410", 
    "\U0001F37B",
    "\U0001F4F8",  
    "\U0001F54A"
]

# Font dosyasının yolu
font_path = "NotoColorEmoji-Regular.ttf"  # Font dosyasının doğru yolunu buraya yazın

# Emojileri PNG dosyalarına dönüştür ve kaydet
def save_emojis_as_png(emojis, font_path, size=100):
    font = ImageFont.truetype(font_path, size)
    for emoji in emojis:
        # Yeni bir resim oluştur
        img = Image.new('RGBA', (size, size), (255, 255, 255, 0))
        draw = ImageDraw.Draw(img)
        draw.text((0, 0), emoji, font=font, fill="black")
        # PNG dosyasını kaydet
        file_path = f"./{ord(emoji)}.png"
        img.save(file_path)

# Emojileri PNG olarak kaydet
save_emojis_as_png(emojis, font_path)

# PNG dosyalarını yükleyip göster
def show_emojis():
    canvas_h, canvas_w = 200, 1100
    canvas = np.ones((canvas_h, canvas_w, 3), dtype="uint8") * 255

    emoji_size = 100
    padding = 20
    x_offset = padding

    for emoji in emojis:
        file_path = f"./{ord(emoji)}.png"
        emoji_img = cv2.imread(file_path, cv2.IMREAD_UNCHANGED)
        if emoji_img is not None:
            emoji_h, emoji_w = emoji_img.shape[:2]
            y_offset = (canvas_h - emoji_h) // 2
            # Tuvaldeki boş alana emojiyi ekle
            if x_offset + emoji_w <= canvas_w:
                for c in range(3):
                    canvas[y_offset:y_offset+emoji_h, x_offset:x_offset+emoji_w, c] = emoji_img[:, :, c] * (emoji_img[:, :, 3] / 255.0) + canvas[y_offset:y_offset+emoji_h, x_offset:x_offset+emoji_w, c] * (1.0 - emoji_img[:, :, 3] / 255.0)
                x_offset += emoji_w + padding

    cv2.imshow("Emojis", canvas)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

# Emojileri göster
show_emojis()
Leave a Comment