使用线帽和线接设置绘制线条
2 个回答
2
既然你在问关于HTML5画布的事情,我想你是在网页上输出这些内容。那么,你有没有考虑过使用SVG图形,而不是画布呢?(我个人更喜欢SVG,特别是在绘制线条的时候)
如果你对SVG没问题的话,可以看看pySVG - 这个工具似乎能满足你对多边形和折线的需求。
希望这些信息对你有帮助。
3
使用PyQt,你可以很简单地设置一些属性,这样你的应用程序就可以在没有图形界面的情况下运行,比如说只创建一张图片并保存到文件中。
你可以查看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")