def paint(self, canvas, is_secondary_color=False, additional_flag=False): pen = QPen() pen.setWidth(self.data_singleton.pen_size) pen.setStyle(Qt.SolidLine) pen.setCapStyle(Qt.RoundCap) pen.setJoinStyle(Qt.RoundJoin) if is_secondary_color: pen.setBrush(self.data_singleton.secondary_color) else: pen.setBrush(self.data_singleton.primary_color) painter = QPainter(canvas.image) painter.setPen(pen) if self._start_point != self._end_point: painter.drawLine(self._start_point, self._end_point) if self._start_point == self._end_point: painter.drawPoint(self._start_point) painter.end() canvas.edited = True canvas.update()
def p(painter, color): device = painter.device() width, height = device.width(), device.height() painter.setRenderHint(QPainter.Antialiasing) pen = QPen() pen.setWidth(thickness) if random: pen.setBrush(noise_brush) painter.setPen(pen) painter.setOpacity(opacity/100) def getpoints(x, y): if angle in [0, 180]: return (0, y), (width, y) if angle in [90, 270]: return (x, 0), (x, height) derp = max(height, width) deg = math.radians(angle) p1 = (x - derp*math.cos(deg), y + derp * math.sin(deg)) p2 = (x+derp*math.cos(deg), y - derp * math.sin(deg)) return p1, p2 for pos in range(spacing+thickness, max(height, width), spacing+thickness): x = pos if angle < 90 else width-pos y = pos (x1, y1), (x2, y2) = getpoints(x, y) painter.drawLine(x1, y1, x2, y2) return
def p(painter, color): device = painter.device() width, height = device.width(), device.height() painter.setRenderHint(QPainter.Antialiasing) pen = QPen() pen.setWidth(thickness) if random: pen.setBrush(noise_brush) painter.setPen(pen) painter.setOpacity(opacity / 100) def getpoints(x, y): if angle in [0, 180]: return (0, y), (width, y) if angle in [90, 270]: return (x, 0), (x, height) derp = max(height, width) deg = math.radians(angle) p1 = (x - derp * math.cos(deg), y + derp * math.sin(deg)) p2 = (x + derp * math.cos(deg), y - derp * math.sin(deg)) return p1, p2 for pos in range(spacing + thickness, max(height, width), spacing + thickness): x = pos if angle < 90 else width - pos y = pos (x1, y1), (x2, y2) = getpoints(x, y) painter.drawLine(x1, y1, x2, y2) return
def default_roi_pen(dashed=True,color=Qt.green): pen = QPen() if dashed: pen.setStyle(Qt.DashLine) pen.setBrush(color) pen.setCapStyle(Qt.RoundCap) pen.setJoinStyle(Qt.RoundJoin) return pen
def drawWidget(self, qp): size = self.size() radx = size.width() rady = size.height() dot = min(radx, rady) / 2 pen = QPen() pen.setWidth(dot) # pen.setStyle(Qt.SolidLine) pen.setBrush(self.color) # pen.setCapStyle(Qt.RoundCap) # pen.setJoinStyle(Qt.RoundJoin) qp.setPen(pen) qp.drawLine(dot, dot, dot, dot)
def draw_widget(self, qp): size = self.size() radx = size.width() rady = size.height() dot = min(radx, rady) / 2 pen = QPen() pen.setWidth(dot) # pen.setStyle(Qt.SolidLine) pen.setBrush(self.color) # pen.setCapStyle(Qt.RoundCap) # pen.setJoinStyle(Qt.RoundJoin) qp.setPen(pen) qp.drawLine(dot, dot, dot, dot)
def draw_uvs(self): self.img = QPixmap(QSize(self.w, self.h)) pen = QPen() pen.setWidth(int(self.pen_w.text())) pen.setBrush(QBrush(Qt.white)) pen.setColor(QColor('white')) painter = QPainter() painter.begin(self.img) painter.setPen(pen) coords = self.get_coords() for face in coords: for n in xrange(len(face) - 1): print face[n][0], face[n][1], face[n + 1][0], face[n + 1][1] painter.drawLine(face[n][0], face[n][1], face[n + 1][0], face[n + 1][1]) painter.end() self.view.scene().addPixmap(self.img)
def paintEvent(self, event): painter = QPainter(self) width = self.width() height = self.height() pen = QPen() pen.setBrush(Qt.black) pen.setWidth(2) painter.setPen(pen) painter.setRenderHint(painter.Antialiasing) painter.drawEllipse(0, 0, width, height) painter.drawLine(width - 20, height // 2, width - 1, height // 2) painter.drawLine(0, height // 2, 20, height // 2) painter.drawLine(width // 2, 0, width // 2, 20) painter.drawLine(width // 2, height - 20, width // 2, height - 1) painter.drawText(0, 20, width, height - 20, Qt.AlignHCenter | Qt.AlignTop, "N") painter.drawText(0, 0, width, height - 20, Qt.AlignHCenter | Qt.AlignBottom, "S") painter.drawText(25, 0, width - 25, height, Qt.AlignVCenter | Qt.AlignLeft, "W") painter.drawText(0, 0, width - 25, height, Qt.AlignVCenter | Qt.AlignRight, "E") pen.setWidth(4) pen.setBrush(Qt.blue) painter.setPen(pen) x = (math.cos(-self.heading) * width // 2) + width // 2 y = (math.sin(-self.heading) * height // 2) + height // 2 painter.drawLine(width // 2, height // 2, x, y)