当前位置:首页 » 《随便一记》 » 正文

Qt实现桌面画线、标记,流畅绘制,支持鼠标和多点触控绘制

2 人参与  2022年11月07日 19:29  分类 : 《随便一记》  评论

点击全文阅读


前言

经常会在网上直播讲课或者点评中看到可以在课件上或者桌面上进行画线标记划重点,其实实现并不难,原理就是在桌面上盖一个透明图层,然后根据鼠标点绘制曲线。
今天分享如何通过Qt的QGraphics体系来实现这个功能,以前的文章已经介绍过使用Qt进行曲线绘制及相关原理,所以这里就不再重复了,直接讲关键部分代码。


本文Demo下载
快捷键说明:数字 1表示画线 2表示擦除 3表示清空,导航键 上下分别表示放大和缩小,Esc退出软件


首先来看实际效果:
在这里插入图片描述录制一个局部动画效果:
在这里插入图片描述

正文

以上效果是通过QGraphics来实现,绘制非矢量图形(在图片上画线)。
来看下几个关键点

透明

由于要实现透视到桌面效果,所以需要投图层设置为透明,所以首先得把QGraphicView设置为透明:

    view->setAttribute(Qt::WA_TranslucentBackground);    view->setStyleSheet("background-color:transparent;border:0px");

然后由于使用的是非矢量绘图方式,所以绘制的图片也要设置成透明才行:

m_pRealCanvas = new QImage(m_size.toSize(),QImage::Format_ARGB32_Premultiplied);m_pRealCanvas->fill(QColor(255,255,255,1));

绘制

上面说了,为了能够更高效的绘制和擦除曲线,使用了非矢量的方式进行绘图,也就是在一张固定的图片上进行绘制。
关于矢量和非矢量方式绘图的区别以及绘制相关注意事项,可以参考之前的文章。
文章在这里

擦除

其实擦除功能和绘制功能一样, 由于使用的是非矢量画线,所以擦除只需要绘制一个和底色相同的粗的曲线即可实现擦除效果。但是要注意设置painter的setCompositionMode属性,设置为QPainter::CompositionMode_Source。

    m_pRealPainter->setRenderHint(QPainter::Antialiasing, true);    m_pRealPainter->setCompositionMode(QPainter::CompositionMode_Source);    m_pRealPainter->setPen(QPen(m_bgColor,width, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));    m_pRealPainter->fillPath(path,m_bgColor);//填充轮廓

本文Demo下载
快捷键:数字 1表示画线 2表示擦除 3表示清空,导航键 上下分别表示放大和缩小,Esc退出软件



点击全文阅读


本文链接:http://zhangshiyu.com/post/47356.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 江晚烟陆聿我终于失去了你结局+番外(江晚烟陆聿)列表_江晚烟陆聿我终于失去了你结局+番外(江晚烟陆聿)结局篇+番外在线
  • 沈静怡傅励行+后续+结局(傅励行沈静怡)列表_沈静怡傅励行+后续+结局(傅励行沈静怡)沈静怡傅励行+后续+结局在线
  • 非典时,我被妻子的白月光误诊遗弃在病房节选角色羁绊特辑‌_田越苏雅白月光角色专属支线试读入口
  • 往梦难复温沈淮霆宋思予_往梦难复温沈淮霆宋思予
  • 霜天空巷旧人归后续更新戚南枝霍涧山完本_霜天空巷旧人归后续更新(戚南枝霍涧山)
  • 傅景深沈晚栀(沈晚栀傅景深+后续+结局)结局_(傅景深沈晚栀沈晚栀傅景深+后续+结局全书结局)结局列表_笔趣阁(傅景深沈晚栀)
  • 霜天空巷旧人归全书+后续+结局(戚南枝霍涧山)列表_霜天空巷旧人归(戚南枝霍涧山)霜天空巷旧人归全书+后续+结局在线
  • (番外)+(结局)江晚烟陆聿我终于失去了你全书+后续(江晚烟陆聿)免费_(江晚烟陆聿我终于失去了你全书+后续)列表_笔趣阁(江晚烟陆聿)
  • 谢长乐肖风行兰因絮果,爱恨全如玉碎全书+结局+番外列表_笔趣阁(兰因絮果,爱恨全如玉碎谢长乐肖风行全书+结局+番外)
  • 「爱恨随风,六十五岁的我离婚了」大结局_「李明小孙女婆婆」小说章节试读
  • 长恨歌新鲜出炉(宋可卿谢景御)_长恨歌新鲜出炉
  • 宋可卿谢景御(长恨歌结局+番外)完结_(宋可卿谢景御)列表_笔趣阁(长恨歌结局+番外)

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1