python - 使用PIL用剪贴蒙版绘制渐变?

标签 python python-imaging-library

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()

该程序的输出:

enter image description here

此示例使用标准绘图上下文,但还有 GraphicsContext 提供附加功能和更好的渲染(抗锯齿):

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

关于python - 使用PIL用剪贴蒙版绘制渐变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6654312/

相关文章:

python - 使用 keras 训练模型时出现 TypeError 和 ValueError

python - 查找相框的 Canvas 边界

python PIL 保存图像不同大小的原始图像

python - 使用 PIL 或 Opencv 校正图像亮度的方法是什么?

python - 从不同的列表项开始枚举

python - 如何根据孔数计算物体

python - 在边界框外设置白色(Python、OpenCV)

Python 将 Excel 工作表范围导出为图像

python - 测量透明图像与实际图像的距离

python - Tensorflow:使用更多不同矩阵进行张量乘法