• 6248阅读
  • 5回复

新手问一个简单的蒙板问题 [复制链接]

上一主题 下一主题
离线蛋疼哥
 
只看楼主 正序阅读 楼主  发表于: 2011-05-14
我记得一个函数可以实现图片旁边不同颜色的地方透明化,我还用过就是忘记什么函数了。
我现在的问题显示一架坦克,让旁边白色的部分不显示,只将坦克显示出来,请问应该怎么做呢。
void Tankwar::paintEvent(QPaintEvent *event)
{
    QString temp("image/1.bmp");
    QPixmap pixmap(temp);
    QPainter paint(this);
    paint.drawPixmap(m_x,m_y,pixmap);
}
离线biggerdog
只看该作者 5楼 发表于: 2011-06-13
QPixmap pixmap;
pixmap.load("1.png");
pixmap.setMask(pixmap.createMaskFromColor(Qt::red));  //用红色做蒙板

这样就可以达到你需要的效果了
离线蛋疼哥
只看该作者 4楼 发表于: 2011-05-15
我发现我真的好幼稚,我找了那种透明的后果然是达到那种效果了,不过我记得有那种函数也可以实现那种功能
离线蛋疼哥
只看该作者 3楼 发表于: 2011-05-15
引用第2楼roywillow于2011-05-14 16:46发表的  :
把背景处理成透明色存成png再绘制吧……

处理成透明色后再怎么做呢?这里的代码应该怎么改,才能让坦克旁边的红色不显示。谢谢
离线roywillow

只看该作者 2楼 发表于: 2011-05-14
把背景处理成透明色存成png再绘制吧……
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线蛋疼哥
只看该作者 1楼 发表于: 2011-05-14
回 楼主(蛋疼哥) 的帖子
没人帮我吗,要求很简单啊,比如我这个图片旁边是红色的,我只要显示坦克,红色的不显示出来,这样做不到吗,那游戏里面的图片是怎么弄的啊,我现在是想写一个坦克大战游戏?
快速回复
限100 字节
 
上一个 下一个