functions qt pyqt pixmap

functions - Qt/PyQt(/ Other?): ¿Cómo cambio colores específicos en un mapa de píxeles?



pyqt functions (1)

¿Cómo cambio colores específicos en un mapa de píxeles? Por ejemplo, tengo un mapa de píxeles con píxeles blancos y negros, y quiero cambiar todos los píxeles blancos a azul, pero dejo los negros solo. O tal vez cambie el negro por el blanco y el blanco por el azul ... [Estoy buscando una solución en Qt / PyQt, pero tal vez esta es una pregunta general sobre cómo se manejan / componen los pixmaps.]


Puede usar createMaskFromColor para crear un mapa de bits para los píxeles blancos, luego use drawPixmap para sobrescribirlos con otro color.

pix = QPixmap("test.png") mask = pix.createMaskFromColor(QColor(255, 255, 255), Qt.MaskOutColor) p = QPainter(pix) p.setPen(QColor(0, 0, 255)) p.drawPixmap(pix.rect(), mask, mask.rect()) p.end()

Tenga en cuenta que createMaskFromColor va a convertir el mapa de píxeles en una QImage , por lo que debe intentar utilizar un QImage directamente, si es posible.