PIL(Python 图像库)是否有绘制线性渐变或/和设置剪切路径的方法?
我到处都找过,但找不到任何演示如何使用其中任何一个的示例。或者还有其他图形库可以完成类似的任务吗?
最佳答案
我不确定 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
关于python - 使用PIL用剪贴蒙版绘制渐变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6654312/