[英]Python Django how to rotate image and remove black color?
我正在嘗試旋轉圖像,但是我想保持圖像的大小。 例如,在下面的示例圖像中,我希望看到一個完整的矩形,並且旋轉后沒有黑色背景色。
請幫助我,我將不勝感激。
現在我的代碼是:
src_im = Image.open("test.gif")
im = src_im.rotate(30)
im.save("result.gif")
要自動調整大小,您需要expand
kwarg:
src_im = Image.open("test.gif")
im = src_im.rotate(30, expand=True)
im.save("result.gif")
正如PIL文檔所解釋的:
expand參數(如果為true)表示輸出圖像應足夠大以容納旋轉的圖像。 如果省略或為false,則輸出圖像的大小與輸入圖像的大小相同。
在黑色背景上,保存GIF圖像時需要指定透明色 :
transparency = im.info['transparency']
im.save('icon.gif', transparency=transparency)
您尚未設置新圖像的大小-如果僅旋轉30度,則圖像需要擴展...
在http://effbot.org/imagingbook/image.htm頁面上:
expand參數(如果為true)表示輸出圖像應足夠大以容納旋轉的圖像。 如果省略或為false,則輸出圖像的大小與輸入圖像的大小相同。
因此,請嘗試(並將其輸入未經測試的瀏覽器中):
src_im = Image.open("test.gif")
im = src_im.rotate(30, expand=True)
im.save("result.gif")
對於黑色背景那是一個多一點tricky-因為你旋轉90°不,有哪些需要包含“東西”(雖然transparancy可能是你想要的)平方的面積。 看看這個答案: 使用PIL在python中旋轉並將expand參數設置為true時,指定圖像填充顏色
祝好運!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.