我有幾個.png是586 x 428.我需要將它們轉換爲512 x 512的.png。我想要在不拉伸圖像的情況下執行此操作。所以基本上,我想把寬度縮小到512,然後在原始圖像的上方和下方添加等量的透明度。PIL - 在.png附近添加透明度
因此,最終產品將是一個巴紐是512×512,並在頂部和底部的高度透明69px,使圖像的「彩色」的部分爲512×374
我正在嘗試使用Python Imaging Library來做到這一點。我對此很新,所以如果有人可以幫助我,這將非常感激。
我有幾個.png是586 x 428.我需要將它們轉換爲512 x 512的.png。我想要在不拉伸圖像的情況下執行此操作。所以基本上,我想把寬度縮小到512,然後在原始圖像的上方和下方添加等量的透明度。PIL - 在.png附近添加透明度
因此,最終產品將是一個巴紐是512×512,並在頂部和底部的高度透明69px,使圖像的「彩色」的部分爲512×374
我正在嘗試使用Python Imaging Library來做到這一點。我對此很新,所以如果有人可以幫助我,這將非常感激。
from PIL import Image
def adjust(image):
image = image.convert('RGBA')
width, height = image.size
new_width = 512
new_height = new_width * height/width
image = image.resize((new_width, new_height), resample=Image.ANTIALIAS)
new_image = Image.new('RGBA', (512, 512), (0, 0, 0, 0))
upper = (512 - image.size[1])/2
new_image.paste(image, (0, upper))
return new_image
好的,您發佈問題已經過了兩個小時。既然你還沒有發佈的代碼,沒有人張貼了一個答案,這裏的東西我可以讓你開始:
(0, 69, 512, 441)
(0,0,512,69)
和(0,441,512,512)
希望幫助您開始
我寫了一個模塊,大部分這 https://github.com/jvanasco/imagehelper 人們可以砍掉相關的位,並使用上面的線索,在很短的時間內有一些功能齊全。 –
你有沒有發佈之前做了任何研究嗎? [這個問題](http://stackoverflow.com/questions/273946/how-do-i-resize-an-image-using-pil-and-maintain-its-aspect-ratio)結合[這另一個] (http://stackoverflow.com/questions/4379978/python-pil-how-to-make-area-transparent-in-png)應該解決你的問題。 – inspectorG4dget
建議的話,除了以前的評論......這些類型的問題幾乎總是需要一個你到目前爲止的代碼示例。否則,別人可以給出的唯一答案只是一個完整的解決方案。我們不知道從哪裏開始。 – jdi
從我的[這個重複問題的答案中的第一個示例](http://stackoverflow.com/a/9103783/496445)的確切代碼應該適用於您的問題。 – jdi