Qt:: 编辑图像

发布于 2024-10-13 00:44:57 字数 267 浏览 5 评论 0原文

我想在 Qt 应用程序中编辑图像,我使用了两个 QLabel 并在每个上设置了两个不同的图像(使用 QPixmap),现在我想在另一个图像上设置一个图像(就像照片 DJ 设置新框架并将卡通添加到图像中一样)。
我为此使用拖放,并且可以移动(拖动)图像,但该拖动的图像会覆盖另一个图像。我希望将图像拖动到第二个图像上,并在第二个图像上设置拖动图像的位置而不覆盖它。 我已经添加了我想要的图像(编辑图像)。 替代文本

I want to edit image in Qt application, I have use two QLabel and set two different image(using QPixmap) on each, now I wan to set one image over another(just like photo DJ set new Frame and Add Cartoons to Image).
I use drag and drop for this and I am able to move (drag) image, but this dragged image override another image. I want dragged image over second image and set position of dragged image on second image not override it.
I have added image that I want(Edit Image).
alt text

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浅语花开 2024-10-20 00:44:57

要在第二个图像上渲染第一个图像,请尝试类似

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

“其中 X,Y 通过单击或鼠标跟踪设置”之类的操作。

To render the first image over the second, try something like

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

Where X,Y is set with clicks or mouse-tracking.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文