我需要一个 Python 库,它可以通过选择线帽(例如圆形)和线连接(例如圆形)来绘制线条。
我正在寻找类似于 HTML5 Canvas 绘图功能的东西。
我查看了 PIL、AggDraw 并没有找到 line cap 和 join 选项。
谢谢。
编辑
我找到了 Cairo 图书馆,我决定使用它。您可以阅读有关开罗的更多信息 here关于 PyCairo here
使用 PyQt,您可以轻松设置这些属性,并且应用程序可以没有 gui(例如,只需创建图像并保存到文件中)。
只需检查 QPainter关于设置抗锯齿(使用 setRenderHints)的文档和关于 QPen 的文档设置上限和连接样式的类。
from PyQt4.Qt import *
import math
app = QApplication([])
img = QImage(256, 256, QImage.Format_RGB32)
dc = QPainter(img)
dc.fillRect(0, 0, 256, 256, QColor(192, 192, 192))
dc.setRenderHints(QPainter.Antialiasing)
dc.setPen(QPen(QColor(128, 128, 192),
12.0,
Qt.SolidLine,
Qt.RoundCap,
Qt.RoundJoin))
pts = []
for i in xrange(7):
t = i * 2 * 3 * math.pi / 7
pts.append(QPointF(128 + 100 * math.cos(t),
128 + 100 * math.sin(t)))
dc.drawPolyline(QPolygonF(pts))
dc = None
img.save("output.png")
我是一名优秀的程序员,十分优秀!