Heim >Backend-Entwicklung >Python-Tutorial >So verwenden Sie QPixmap in Python

So verwenden Sie QPixmap in Python

WBOY
WBOYnach vorne
2023-04-19 16:58:131694Durchsuche

QPixmap wird hauptsächlich zum Zeichnen verwendet und ist für die Bildanzeige optimiert. QImage ist hauptsächlich für Bild-E/A, Bildzugriff und Pixeländerung konzipiert. Wenn Sie jedoch QPixmap zum Laden großer Bilder verwenden, belegt es viel Speicher und eignet sich zum Laden kleiner Bilder. Ein Bild mit einer Größe von mehreren zehn K wird nach dem Laden um ein Vielfaches vergrößert.

Wenn das Bild zu groß ist, können Sie es mit QImage laden und es dann in QPixmap konvertieren, damit der QPixmap-Zeichnungseffekt am besten ist.

1. Verwenden Sie QPixmap, um Bilder anzuzeigen.

void Dialog::paintEvent(QPaintEvent *)
{
    QPainter painter(this);
    QPixmap pix;
    pix.load(“D:/1.jpg”);
    painter.drawPixmap(0,0,50,50,pix); //在(0,0)点起始的宽高均为50的句型中显示图片
 
    painter.translate(50,50); //将起始点改为(50,50)
    painter.drawPixmap(0,0,50,50,pix); //在(50,50)起始的宽高为50的矩形中显示图片
}
. Diese Funktion gibt die Größe eines Rechtecks ​​zurück, das basierend auf dem angegebenen Modus so skaliert ist, dass es die angegebene Breite und Höhe hat.

void Dialog::paintEvent(QPaintEvent *)
{
    QPainter painter(this);
    QPixmap pix;
    pix.load(“D:/1.jpg”);
    painter.drawPixmap(0,0,50,50,pix); //在(0,0)点起始的宽高均为50的句型中显示图片
    
    qreal wid = pix.width(); //获取图像的宽高
    qreal hei = pix.height();
    pix = pix.scaled(wid*2,hei*2,Qt::KeepAspectRatio);//将图片宽高扩大两倍,且在矩形内保持宽高比值
    painter.drawPixmap(50,50,pix);
}

3. Verwenden Sie QPixmap, um eine Bilddrehung zu erreichen. Sie können die Funktion „rotate()“ der QPainter-Klasse verwenden, um eine Bilddrehung mit dem Ursprung als Mittelpunkt zu erreichen.

void Dialog::paintEvent(QPaintEvent *)
{
    QPainter painter(this);
    QPixmap pix;
    pix.load(“D:/1.jpg”);
    painter.translate(50,50); //将旋转中心改为(50,50)
    painter.rotate(90); //顺时针旋转90度
    painter.translate(-50,-50); 
    painter.drawPixmap(0,0,50,50,pix); 
}

Sie müssen zuerst das Rotationszentrum ändern, dann erneut drehen und dann den Ursprung wiederherstellen, um den gewünschten Effekt zu erzielen.

4. Verwenden Sie QPixmap, um Bildverzerrungen zu realisieren.

Verwenden Sie die Scherfunktion (qreal sh, qreal sv) der QPainter-Klasse, um Bildverzerrungen zu realisieren. Parameter 1 realisiert eine horizontale Verformung und Parameter 2 realisiert eine Längsverformung. Wenn ihr Wert 0 ist, bedeutet dies, dass keine Verzerrung vorliegt.化 Die Änderung der Bildform wird durch Änderungen im Koordinatensystem erreicht.

void Dialog::paintEvent(QPaintEvent *)
{
    QPainter painter(this);
    QPixmap pix;
    pix.load(“D:/1.jpg”);
    painter.drawPixmap(0,0,50,50,pix); 
    painter.shear(0.5,0) ;//横向扭曲
    painter.drawPixmap(50,0,50,50,pix); 
    painter.shear(0,0.5);//纵向扭曲
    painter.drawPixmap(0,50,50,50,pix); 
    painter.shear(0.5,0.5);//同时横纵扭曲
    painter.drawPixmap(50,50,50,50,pix); 
}

Das obige ist der detaillierte Inhalt vonSo verwenden Sie QPixmap in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen