İskambil kartlarından bir trim/sprite sheet (artık nasıl adlandırmak daha uygun olur bilemiyorum) oluşturmak için gerekli python kodu:
from PIL import Image
import os
# Klasör ve dosya ayarları
image_folder = "images" # küçük resimlerin bulunduğu klasör
output_image = "merged_grid.png"
# Grid boyutları
columns = 9
rows = 6
# Resimleri sırala ve oku
image_files = sorted([
os.path.join(image_folder, f)
for f in os.listdir(image_folder)
if f.endswith((".png", ".jpg", ".jpeg"))
])[:columns * rows] # sadece ilk 52 resmi al
images = [Image.open(f) for f in image_files]
# Varsayım: tüm resimler aynı boyutta
img_width, img_height = images[0].size
# Yeni büyük resim oluştur
grid_width = columns * img_width
grid_height = rows * img_height
# Hangi kenarı büyükse ona göre yeni resmi oluştur
if grid_height>grid_width:
grid_width=grid_height
if grid_width>grid_height:
grid_height=grid_width
output = Image.new('RGBA', (grid_width, grid_height), color=(0,0,0,0))
# Resimleri yerleştir
for idx, img in enumerate(images):
x = (idx % columns) * img_width
y = (idx // columns) * img_height
output.paste(img, (x, y))
# Büyük resmi istenilen boyutu ölçekle
res = 4096
newsize = (res, res)
output = output.resize(newsize)
# Kayıt
output.save(output_image)
print(f"Oluşturuldu: {output_image}")
images isimli klasörden isim sırasına göre iskambil kağıdı resimlerini okuyup belirtilen satır/sütun sayısına göre bir karesel bir 4k texture içine diziyor.
Kodun çoğunu chatgpt yazdı(cidden iyi iş çıkardı) bazı modifiyeler yaptım üzerinde.
Kodu kullanabilmek için öncelikle pillow kütüphanesini pip ile install etmemiz gerekli:
pip install pillow final sonuç:



Leave a Reply