如何在 PyQt 4 中平铺两个像素图?

Posted

技术标签:

【中文标题】如何在 PyQt 4 中平铺两个像素图?【英文标题】:How can I tile two pixmaps in PyQt 4? 【发布时间】:2011-04-07 19:50:32 【问题描述】:

从磁盘上的 2 个具有相同尺寸的 png 文件(我可以加载到 2 个像素图)开始,我如何将它们水平平铺并在它们之间留一个小的垂直(透明)空间,如下所示:

aaaaa bbbbb
aaaaa bbbbb
aaaaa bbbbb

并将结果另存为另一个像素图?

环境:Windows 上的 PyQt 4.8.3

【问题讨论】:

【参考方案1】:

这应该是一个很好的起点(未经测试):

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

【讨论】:

以上是关于如何在 PyQt 4 中平铺两个像素图?的主要内容,如果未能解决你的问题,请参考以下文章

如何在片段着色器中平铺部分纹理

PyQt4:如何使图标大于 QPushButton? (像素图按钮)

根据特定设计在win32中平铺菜单项

如何在opencv中平滑图像中插入孔?

如何在 Matlab 中平滑阶梯状图

PyQt5 旋转像素图