我想在我的视频编辑器应用程序中显示裁切剪辑和非裁切剪辑之间的区别,即我想在缩略图上为裁切剪辑添加一个小胶片图像。我该怎么做呢?
这将只是在我们的图库应用程序中显示图像和视频之间的区别。
如何在Qt中将一个图像添加到另一个图像的顶部?
发布于 2010-12-08 01:27:19
打开底部图像上的QPainter,并使用其drawPixmap()/drawImage()方法绘制顶部图像。
QPixmap base, overlay; // come from your code
{
QPainter painter(base);
painter.drawPixmap(100, 100, overlay);
}如果覆盖图包含alpha通道(例如,花哨的PNG图标),而基础图像不包含,则应创建一个具有alpha通道的新QPixmap,并将两个图像都绘制到其中:
QPixmap base, overlay; // come from your code
QPixmap result(base.width(), base.height());
result.fill(Qt::transparent); // force alpha channel
{
QPainter painter(&result);
painter.drawPixmap(0, 0, base);
painter.drawPixmap(100, 100, overlay);
}QPixmaps和QImages可以互换使用,尽管并非所有组合都能提供良好的性能)。
发布于 2018-03-12 14:50:13
如果只是想在一张图片上显示另一张图片,那么你也可以使用this answer。
QGridLayout *layout = new QGridLayout(widget);
Pixmap base, overlay;
QLabel *background = new Label();
background->setPixmap(&base);
QLabel *lOverlay = new QLabel();
lOverlay->setPixmap(&overlay);
//label gets positioned above textBrowser and is an overlay
layout->addWidget(background, 0, 0, Qt::AlignLeft | Qt::AlignTop);
layout->addWidget(lOverlay, 0, 0, Qt::AlignRight | Qt::AlignBottom); 当然,背景图像的QPixbuf不包含覆盖图像的,但它只是看起来是这样的。
https://stackoverflow.com/questions/4375433
复制相似问题