Tôi có 4 thư mục với hình ảnh cho hoạt ảnh. Tôi muốn lấy bộ ảnh và tạo ra một ảnh với 4 ảnh được sắp xếp thành một lưới 2x2 cho mỗi khung hình của hoạt ảnh.Thư viện hình ảnh Python: Cách kết hợp 4 hình ảnh vào lưới 2 x 2?
Mã của tôi cho đến nay là:
import Image
fluid64 = "Fluid64_half_size/00"
fluid128 = "Fluid128_half_size/00"
fluid512 = "Fluid512_half_size/00"
fluid1024 = "Fluid1024_half_size/00"
out_image = "Fluid_all/00"
for pic in range(1, 26):
blank_image = Image.open("blank.jpg")
if pic < 10:
image_num = "0"+str(pic)
else:
image_num = str(pic)
image64 = Image.open(fluid64+image_num+".jpg")
image128 = Image.open(fluid128+image_num+".jpg")
image512 = Image.open(fluid512+image_num+".jpg")
image1024 = Image.open(fluid1024+image_num+".jpg")
out = out_image + image_num + ".jpg"
blank_image.paste(image64, (0,0)).paste(fluid128, (400,0)).paste(fluid512, (0,300)).paste(fluid1024, (400,300)).save(out)
Không chắc lý do tại sao nó không làm việc. Tôi gặp lỗi:
Traceback (most recent call last):
File "C:\Users\Casey\Desktop\Image_composite.py", line 24, in <module>
blank_image.paste(image64, (0,0)).paste(fluid128, (400,0)).paste(fluid512, (
ste(fluid1024, (400,300)).save(out)
AttributeError: 'NoneType' object has no attribute 'paste'
shell returned 1
Mọi trợ giúp đều tuyệt vời. Cảm ơn!
Đây không phải là những gì là " sai "trong mã - mặc dù ông woudl cũng được hưởng lợi từ nó. – jsbueno
Vâng, tôi nhận thấy điều gì đã thực sự "sai" sau đó. Tôi nhìn vào dấu vết và có vẻ như blank_image đã không được định nghĩa đúng cách. Vì vậy, tôi vừa đưa ra giả định. Nó khá muộn ở đây sau khi tất cả :) –
Trường hợp sử dụng của tôi là tạo một hình ảnh mới với kích thước động, ghép các phân đoạn với nhau thành hình ảnh trống mới, vì vậy điều này rất hữu ích. +1 –