首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt :将图像放置在针状QLab-掩蔽概念中?

Qt :将图像放置在针状QLab-掩蔽概念中?
EN

Stack Overflow用户
提问于 2013-11-27 11:41:14
回答 1查看 1.3K关注 0票数 0

我已经在谷歌上搜索了很多这个话题,出于某种原因,我认为我没有正确设置面具。我想要做的是在QLabel中显示一个圆形的图像。不应显示跨越边界的部分图像。这就是我要做的

代码语言:javascript
复制
QPixmap circ( ":/qt/images/circ.png" );
QPixmap img( ":/qt/images/no.bmp" );
ui.label_h->setMask(circ.mask());
ui.label_h->setPixmap(img);

中国保监会文件是一个带有黑色填充的圆圈的png图像,img显然是一个图像,任何关于如何实现这一点的建议都将受到高度赞赏。我的代码显然只是在正方形的边界上显示图像。

更新

这就是我要用的

代码语言:javascript
复制
QPixmap circ( ":/qt/images/circ.png" );
    QPixmap mask = circ.createMaskFromColor(Qt::black, Qt::MaskOutColor);
    QPixmap img( ":/qt/images/no.bmp" );
    ui.label_h->setMask(mask);
    ui.label_h->setPixmap(img);

这是之前的结果

这些是链接

http://i.tinyuploads.com/EFxSB7.png

http://i.tinyuploads.com/9knGNd.bmp

EN

回答 1

Stack Overflow用户

发布于 2013-11-27 11:52:13

您正在调用circ.mask(),根据Qt文档:-

从像素地图的alpha通道提取位图掩码。

你说中国保监会的图像有一个黑色的圆圈,所以要么把它更改为有一个带有圆圈的alpha通道,要么根据图像创建掩码:-

代码语言:javascript
复制
QPixmap mask = circ.createMaskFromColor(Qt::black, Qt::MaskOutColor);

然后用这个口罩:-

代码语言:javascript
复制
ui.label_h->setMask(mask);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20241504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档