• 2057阅读
  • 3回复

[提问]如何将中间的方形换成圆形呢 [复制链接]

上一主题 下一主题
离线foxgod
 

只看楼主 倒序阅读 楼主  发表于: 2018-08-15
我这里通过paintevent,想做一个探照灯的效果。
效果就是在背景上放一个蒙版,不是高亮,然后在上面在画一个圆形,圆形里面看到的是背景里面的内容
  1. QPainter painter(this);
  2.     QPixmap tempmask(m_screen_width, m_screen_height);
  3.     tempmask.fill((QColor(0, 0, 0, 160)));
  4.     painter.drawPixmap(0,0,m_fullPixmap);     //先绘制全屏原图背景
  5.     painter.drawPixmap(0,0,tempmask);       //然后绘制半透明背景,用来降低亮度
  6. painter.setPen(QPen(Qt::transparent,5,Qt::SolidLine));//设置画笔形式
  7.         painter.drawRect(m_rect);
  8.         painter.drawPixmap(m_rect,m_fullPixmap,m_rect);     //

这样画出来的是个矩形的,如果把画矩形改成圆形,画出来的还是个方形,如何能把矩形换成圆形呢??这个圆形还要可以移动

图像

离线ustone

只看该作者 1楼 发表于: 2018-08-15
painter.drawRect(m_rect); ?
离线foxgod

只看该作者 2楼 发表于: 2018-08-15
回 ustone 的帖子
ustone:painter.drawRect(m_rect); ?
 (2018-08-15 13:28) 

我用painter.drawEllipse(m_rect);  情况一样,
离线大漠之鹰

只看该作者 3楼 发表于: 2018-08-15
设置一下compositemode试试,这个功能是可以实现的,忘了是选哪种融合方式了,你自己试一下吧
本是后山人,偶作前堂客,醉舞经阁半卷书,坐井说天阔。大志戏功名,海斗量福祸,论到囊中羞涩时,怒指乾坤错
QQ:874164244
快速回复
限100 字节
 
上一个 下一个