2015-02-09 13 views
8

Tôi đã có một tập tin mã khá đơn giản:Làm cách nào để dán hình ảnh lên hình ảnh lớn hơn bằng Pillow?

from PIL import Image 
til = Image.new("RGB",(50,50)) 
im = Image.open("tile.png") #25x25 
til.paste(im) 
til.paste(im,(23,0)) 
til.paste(im,(0,23)) 
til.paste(im,(23,23)) 
til.save("testtiles.png") 

Tuy nhiên, khi tôi cố gắng để chạy nó, tôi nhận được lỗi sau:

Traceback (most recent call last): 
    til.paste(im) 
    File "C:\Python27\lib\site-packages\PIL\Image.py", line 1340, in paste 
    self.im.paste(im, box) 
ValueError: images do not match 

gì đang gây ra lỗi này? Cả hai đều là hình ảnh RGB, các tài liệu không nói bất cứ điều gì về lỗi này.

+0

Thông thường khi các chế độ của 2 hình ảnh không phù hợp. – runDOSrun

Trả lời

13

Sự cố trong lần dán đầu tiên - theo tài liệu PIL (http://effbot.org/imagingbook/image.htm), nếu không có đối số "hộp" nào được truyền, kích thước của hình ảnh phải khớp.

EDIT: Tôi thực sự hiểu lầm tài liệu, bạn nói đúng, nó không có ở đó. Nhưng từ những gì tôi đã thử ở đây, nó có vẻ như không vượt qua đối số thứ hai, kích thước phải phù hợp. Nếu bạn muốn giữ kích thước của hình ảnh thứ hai và đặt nó ở góc trên bên trái của hình ảnh đầu tiên, chỉ cần làm:

+1

Tôi thực sự đang sử dụng Pillow, một ngã ba PIL: http://pillow.readthedocs.org/ Tuy nhiên, đây là giải pháp. Cảm ơn bạn! – user1796160

Các vấn đề liên quan