emojinin otomatik png oluşturan
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