簡體   English   中英

Python Django如何旋轉圖像並消除黑色?

[英]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)

試試這個:

src_im = Image.open("test.jpg")
im = src_im.rotate(30,fillcolor='white', expand=True)
im.save("result.gif")

結果如下:

test.jpg result.gif

您尚未設置新圖像的大小-如果僅旋轉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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM