2024-05-17 18:52:18 发布
网友
我需要一个Python库,它可以用一个选项来绘制线,可以选择line cap(例如round)和line join(例如round)。在
我要找的东西,像HTML5画布绘图功能。在
我看了PIL,AggDraw,没有找到line cap和join选项。在
谢谢。在
编辑
我找到了开罗图书馆,我决定用它。您可以阅读有关Cairohere和PyCairohere的更多信息
既然你问的是HTML5canvas,我假设你是把这个输出到一个网页上。在这种情况下,您会考虑SVG图形而不是画布吗?(就我个人而言,我更喜欢SVG而不是画布,尤其是在绘制线条时)
如果您对SVG没问题,那么您可能需要看看pySVG-它似乎满足了您在多边形和多段线方面的需要。在
希望有帮助。在
使用PyQt,您可以轻松地设置这些属性,并且应用程序可以没有gui(例如,只创建一个图像并保存到文件中)。在
只需查看关于设置抗锯齿的QPainter文档(使用setrenderInts)和关于设置cap和join样式的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")
既然你问的是HTML5canvas,我假设你是把这个输出到一个网页上。在这种情况下,您会考虑SVG图形而不是画布吗?(就我个人而言,我更喜欢SVG而不是画布,尤其是在绘制线条时)
如果您对SVG没问题,那么您可能需要看看pySVG-它似乎满足了您在多边形和多段线方面的需要。在
希望有帮助。在
使用PyQt,您可以轻松地设置这些属性,并且应用程序可以没有gui(例如,只创建一个图像并保存到文件中)。在
只需查看关于设置抗锯齿的QPainter文档(使用setrenderInts)和关于设置cap和join样式的QPen类的文档。在
相关问题 更多 >
编程相关推荐