本文整理匯總了Python中qwt.qt.QtGui.QPainter.drawPoints方法的典型用法代碼示例。如果您正苦於以下問題:Python QPainter.drawPoints方法的具體用法?Python QPainter.drawPoints怎麽用?Python QPainter.drawPoints使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類qwt.qt.QtGui.QPainter
的用法示例。
在下文中一共展示了QPainter.drawPoints方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: toImage
# 需要導入模塊: from qwt.qt.QtGui import QPainter [as 別名]
# 或者: from qwt.qt.QtGui.QPainter import drawPoints [as 別名]
def toImage(self, xMap, yMap, series, from_, to, pen, antialiased):
"""
Translate a series into a QImage
:param qwt.scale_map.QwtScaleMap xMap: x map
:param qwt.scale_map.QwtScaleMap yMap: y map
:param series: Series of points to be mapped
:param int from_: Index of the first point to be painted
:param int to: Index of the last point to be painted
:param QPen pen: Pen used for drawing a point of the image, where a point is mapped to
:param bool antialiased: True, when the dots should be displayed antialiased
:return: Image displaying the series
"""
#TODO: rewrite this method to fix performance issue (litteral translation from C++!)
rect = self.__data.boundingRect.toAlignedRect()
image = QImage(rect.size(), QImage.Format_ARGB32)
image.fill(Qt.transparent)
if pen.width() <= 1 and pen.color().alpha() == 255:
bits = image.bits()
w = image.width()
h = image.height()
x0 = rect.topLeft().x()
y0 = rect.topLeft().y()
for i in range(from_, to+1):
sample = series.sample(i)
x = int(xMap.transform(sample.x())+0.5)-x0
y = int(yMap.transform(sample.y())+0.5)-y0
if x >= 0 and x < w and y >= 0 and y < h:
bits[y*w+x] = pen.color().rgba()
else:
painter = QPainter(image)
painter.setPen(pen)
painter.setRenderHint(QPainter.Antialiasing, antialiased)
chunkSize = 1000
for i in range(chunkSize):
indexTo = min([i+chunkSize-1, to])
points = self.toPoints(xMap, yMap, series, i, indexTo)
painter.drawPoints(points)
return image