使用PIL绘制渐变和剪切蒙版?
请问PIL(Python图像库)有没有方法可以绘制线性渐变或者设置剪切路径?
我到处找了,但找不到任何示例来演示如何使用这两种功能。或者有没有其他图形库可以做类似的事情?
1 个回答
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()
这个程序的输出结果是:
这个例子使用了一个标准的绘图上下文,但还有一个叫GraphicsContext
的东西,它提供了更多功能和更好的渲染效果(抗锯齿):
http://www.wxpython.org/docs/api/wx.GraphicsContext-class.html