Saya mencoba menggabungkan secara horizontal beberapa gambar JPEG dengan Python.
Masalah
Saya memiliki 3 gambar - masing-masing 148 x 95 - lihat terlampir. Saya baru saja membuat 3 salinan dari gambar yang sama - itulah mengapa mereka sama.
Upaya saya
Saya mencoba untuk bergabung dengan mereka secara horizontal menggunakan kode berikut:
import sys
from PIL import Image
list_im = ['Test1.jpg','Test2.jpg','Test3.jpg']
new_im = Image.new('RGB', (444,95)) #creates a new empty image, RGB mode, and size 444 by 95
for elem in list_im:
for i in xrange(0,444,95):
im=Image.open(elem)
new_im.paste(im, (i,0))
new_im.save('test.jpg')
Namun, ini menghasilkan keluaran yang terpasang sebagai test.jpg
.
Pertanyaan
Apakah ada cara untuk menggabungkan gambar-gambar ini secara horizontal sehingga sub-gambar di test.jpg tidak menampilkan gambar parsial tambahan?
informasi tambahan
Saya mencari cara untuk menggabungkan n gambar secara horizontal. Saya ingin menggunakan kode ini secara umum, jadi saya lebih suka:
- bukan untuk dimensi gambar hard-code, jika memungkinkan
- tentukan dimensi dalam satu baris agar dapat diubah dengan mudah
for i in xrange(...)
di kode Anda? Tidakkah seharusnyapaste
menangani tiga file gambar yang Anda tentukan?