Frage

Ich möchte das Bild in der QT -Anwendung bearbeiten, ich habe zwei verwendet QLabel und legen Sie zwei verschiedene Bild (verwenden Sie QPixmap) Auf jedem möchte ich jetzt ein Bild über ein anderes setzen (genau wie Foto -DJ -Setzen Sie einen neuen Rahmen und füge Cartoons zum Bild hinzu).
Ich verwende Drag and Drop dafür und kann das Bild verschieben (Drag), aber dieses gezogene Bild überschreibt ein anderes Bild. Ich möchte das Bild über das zweite Bild über das zweite Bild gezogen und die Position des gezogenen Bildes auf dem zweiten Bild festlegen und nicht überschreiben. Ich habe ein Bild hinzugefügt, das ich möchte (Bild bearbeiten).alt text

War es hilfreich?

Lösung

Um das erste Bild über den zweiten zu rendern, versuchen Sie es so etwas wie

QPixmap background(":/dj.jpg");
QPixmap object(":/fish.png"); //a png with transparent background
QPixmap merge = background.copy();
QPainter painter(&merge);
painter.drawPixmap(X,Y, object); //draw the fish on background at point X,Y
painter.end();
MyLabel->setPixmap(merge); //update the label

Wobei x, y mit Klicks oder Mausverfolgung eingestellt wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top