我需要一个Python库,它可以绘制一个选项来选择行上限(例如圆形)和行连接(例如圆形)。
我正在寻找像HTML5 Canvas Drawing功能一样的东西。
我查看了PIL,AggDraw并没有找到行上限和加入选项。
谢谢。
修改
的更多信息答案 0 :(得分:3)
使用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")
答案 1 :(得分:2)
由于您在询问HTML5画布,我假设您将其输出到网页。在这种情况下,你会考虑SVG图形而不是Canvas吗? (我个人更喜欢SVG而不是画布,尤其是画线)
如果您对SVG没问题,那么您可能需要查看pySVG - 它似乎满足您在多边形和折线方面的需求。
希望有所帮助。