正如標題所說,我想用來Image.alpha_composite()合并兩個不同尺寸的影像(800x600 和 1280x720)。我想使用Image.alpha_composite(),因為我的前景影像具有透明效果,但每當我嘗試這樣做時,它只會說影像不匹配(它們的大小不同)。我嘗試使用它來調整它的大小,resize()但它弄亂了縱橫比。我還嘗試使用paste()將較小的影像粘貼到空白的 1280x720 影像上,但將影像粘貼到透明影像上不起作用。任何幫助表示贊賞。
uj5u.com熱心網友回復:
正如評論中所指出的,如果您顯示您嘗試的代碼(但沒有產生預期的結果),其他人更容易理解您的問題。
如果我正確解釋了您的問題,解決此問題的一種方法是通過將較小的影像粘貼到與較大尺寸匹配的空影像上來填充較小的影像:
from PIL import Image, ImageDraw
one = Image.new('RGBA', (128, 72), (255, 255, 255, 0))
ctx = ImageDraw.Draw(one)
ctx.ellipse((10, 10, 128-10, 72-10), (255, 192, 0))
two = Image.new('RGBA', (80, 60), (255, 255, 255, 0))
ctx = ImageDraw.Draw(two)
ctx.rectangle((4, 4, 80-4, 60-4), (192, 0, 0))
two_padded = Image.new('RGBA', one.size, (255, 255, 255, 0))
two_padded.paste(two)
result = Image.alpha_composite(one, two_padded)
result.show()
...show()我得到以下結果:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/497131.html
