2011-07-11 28 views
1

是否PILPython圖像庫)已經方法繪製線性梯度或/和設置剪切路徑使用PIL繪製與剪裁蒙版梯度?

我到處尋找,但我找不到任何演示如何使用的例子。或者是否有任何其他圖形庫可以執行類似的任務?

+0

wxPython可以做到這一點。 ('GradientFillLinear'和'SetClippingRegion')如果你感興趣,我可以編寫一個例子。 – FogleBird

回答

1

我不太確定PIL,但是既然你問了關於替代方法,下面是使用wxPython的線性漸變和剪裁區域的例子。

wxPython不是嚴格的圖像處理,但它可以完成工作。

import wx 

def render(dc): 
    dc.Clear() 
    region = wx.RegionFromPoints([(256, 64), (448, 448), (64, 448)]) 
    dc.SetClippingRegionAsRegion(region) 
    dc.GradientFillLinear((0, 0, 512, 512), wx.RED, wx.BLACK, wx.NORTH) 

def main(): 
    app = wx.PySimpleApp() 
    bitmap = wx.EmptyBitmap(512, 512) 
    render(wx.MemoryDC(bitmap)) 
    bitmap.SaveFile('output.png', wx.BITMAP_TYPE_PNG) 

if __name__ == '__main__': 
    main() 

輸出這個方案的:

enter image description here

本例使用一個標準的繪圖上下文,但也有GraphicsContext,其提供附加的功能性和更好的渲染(抗混疊):

http://www.wxpython.org/docs/api/wx.GraphicsContext-class.html

+0

謝謝!我認爲現在是我開始使用wxPython而不是TkInter的時候了。 –