前提・実現したいこと
コードをできるだけシンプルにしたいです。def以下のコードを他の方に教えていただいたため、それを上手く使えば簡単にできるかと思ったのですが、なかなか使いこなせていない状況です。また、最終的な保存はbom1~bom4だけでよいので、可能であれば他の保存の部分をなくしつつきれいにまとめたいと考えています。お力添えいただけると幸いです。参考のコードも教えていただけると助かります。お手数ですが、よろしくお願い致します。
発生している問題・エラーメッセージ
以下のようなエラーが生じています。 in alpha_composite return im1._new(core.alpha_composite(im1.im, im2.im)) ValueError: images do not match
該当のソースコード
Python
1from PIL import Image 2 3src1 = Image.open('img.png') 4 5src = [] 6for i in range(1,4): 7 src.append(src1.crop((i*125, i*125, 1000-i*125, 500))) 8 9src2 = [] 10for i in src: 11 src2.append(i.resize((1000,562))) 12 13src2.insert(0,src1) 14 15for i in range(len(src2)): 16 src2[i].putalpha((i+7)*20) 17 18src2[0].save('img21.png') 19src2[1].save('img22.png') 20src2[2].save('img23.png') 21src2[3].save('img24.png') 22 23def merge_save(infile1, infile2, outfile): 24 image1 = Image.open(infile1).convert('RGBA') 25 image2 = Image.open(infile2).convert('RGBA') 26 outimage = Image.alpha_composite(image1, image2) 27 outimage.save(outfile) 28 29infiles1 = ['img7.png', 'img8.png', 'img9.png', 'img10.png'] 30 31infiles2 = ['img24.png','img23.png','img22.png','img21.png'] 32 33outfiles = ['bom1.png','bom2.png','bom3.png','bom4.png'] 34 35for i in range(len(infiles1)): 36 merge_save(infiles1[i], infiles2[i], outfiles[i])
試したこと
補足情報(FW/ツールのバージョンなど)
PythonのPillowを用いて製作するように指示が出ています。よろしくお願い致します。