python - Hvordan kan jeg flise to pixmaps i PyQt 4?

Indlæg af Hanne Mølgaard Plasc

Problem



Startende med 2 png-filer på disken (som jeg kan indlæse til 2 pixmaps) med samme dimensioner, hvordan kan jeg flise dem vandret med et lille lodret (gennemsigtigt) mellemrum som sådan:


aaaaa bbbbb
aaaaa bbbbb
aaaaa bbbbb


og gem resultatet som en anden pixmap?


Miljø: PyQt 4.8.3 på Windows

Bedste reference


Dette bør være et godt udgangspunkt (ikke testet):


painter = QPainter() // the QPainter to the object you want to paint

a = QImage("file1.png")
b = QImage("file2.png")
space = 5 // pixels
tile = QPixmap(QSize(a.width() + b.width(), a.height() + space)
painter2.setBrush(QBrush(QColor(0, 0, 0, 0)))
painter2.fillRect(0, 0, tile.width(), tile.height())
painter2 = QPainter(tile)
painter2.drawImage(QPoint(0, 0), a)
painter2.drawImage(QPoint(a.width(), 0), b)

painter.setBrush(tile.toImage())

// now anything you draw will be filled with the tiled pattern