范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Qt鼠标触屏绘制平滑曲线,支持矢量非矢量方式

  前言
  Qt通过鼠标或者触屏,实时绘制平滑曲线,通常有两种方式实现:矢量绘图和非矢量绘图,这两种画线方式从实现上有些不同,其原理也不太一样,稍后会做详细介绍。而鼠标或者触屏画线也不大一样,通常如果只实现鼠标画线的话,那么只需要重新实现鼠标事件即可(mousePressEvent、mouseMoveEvent、mouseReleaseEvent),而要在触控屏上画线,如果需要支持多点画线的话,就必须处理QTouchEvent事件才行,但是如果触屏上只支持单点画线,那也可以直接实现鼠标事件,因为第一个触点的事件会同时进入到QTouchEvent和Mouse事件中。QTouchEvent中可以区分出多点时每个触点的id,通过id进行区分每个点的数据。
  通常情况下,为了提升绘图效率,要实现这种绘图的功能,都是用QGraphics体系来完成,因为QGraphics刷新机制和QWidget不太一样,它可以做区域刷新,这样能保证效率更高,特别是针对一些分辨率较高的设备,就很明显了。具体这两个体系间的区别就不在这里进行描述。
  所以,接下来为了演示矢量和非矢量画图方式,我们在QGraphics体系中实现一个简单的画板程序。注重画线效率,保证线条平滑无折线,无锯齿,支持多点画线。效果图
  先来看看非矢量绘图的效果:
  再看矢量绘图效果:
  二者区别
  通过上面的两个图对比,相信大家已经看出了一些区别。我们再详细介绍一下这两者的区别。
  非矢量绘图
  优点:速度快。非矢量绘图原理是直接在一张图片上进行绘制,其渲染速度很快,即便是画了很多线条, 也不会有卡顿的效果,擦除时同样很快。
  缺点:缩放失真。由于非矢量绘图是在图片上渲染,当缩放图片时,会导致线条模糊不清晰,如果只是小范围的缩放还能接受,无限缩放的话就会很明显了。二者区别
  通过上面的两个图对比,相信大家已经看出了一些区别。我们再详细介绍一下这两者的区别。
  非矢量绘图
  优点:速度快。非矢量绘图原理是直接在一张图片上进行绘制,其渲染速度很快,即便是画了很多线条, 也不会有卡顿的效果,擦除时同样很快。
  缺点:缩放失真。由于非矢量绘图是在图片上渲染,当缩放图片时,会导致线条模糊不清晰,如果只是小范围的缩放还能接受,无限缩放的话就会很明显了。
  矢量绘图
  优点:无限缩放,不失真。矢量绘图是将点数据绘制生成一个单独的对象,当进行缩放的时候,会重新进行渲染,所以矢量绘图的方式不会导致图像失真。
  缺点:线条多时会卡顿,擦除尤其明显。由于矢量绘图是生成一个单独的对象,所以当画线多的情况下,会触发所有有交集的对象进行刷新,擦除的时候,会去计算线条之间的交集并做删减,这个过程会很慢,并且会将整个对象item进行刷新,所以卡顿明显(上述效果图就可以看出来了)。
  通过以上两者的优缺点对比,根据实际需要进行选择实际的画线模式。
  解决实时绘图折线问题
  折线效果:
  可以看到上述画线有很明显的折线,线条不平滑。
  通常绘制这种线条,第一反应想到的是讲两个点直接连接起来行成一条直线,但是,由于两点之间距离比较大,特别是触控屏,点与点之间并不是很密集,因为上层应用在主线程渲染的时候,系统会自动丢弃一些数据点,即便是底层上报的点很多,上层应用接收到的点也会减少,所以不能直接用连接两点的方式来实现。
  那么,该怎么解决呢?
  绘制贝塞尔曲线。
  在move的过程中实时生成贝塞尔曲线path,这样就能保证线条无折线。QPainterPath支持贝塞尔曲线绘制,参加以下函数:void QPainterPath::quadTo(const QPointF &c, const QPointF &endPoint) Adds a quadratic Bezier curve between the current position and the given endPoint with the control point specified by c. After the curve is added, the current point is updated to be at the end point of the curve.
  非矢量绘图实现方式
  所谓的非矢量绘图,就是在一张图片上进行绘制,然后将图片渲染到QGraphicsItem的背景上面,前面我们已经提到,该方式渲染速度非常快,无论画多少线条都不会影响速度,而擦除功能只需要按照同样的方式绘制背景色即可。
  但是该方式在缩放过后图片会有些模糊,如果只是小范围的缩放还好,无限缩放就需要用到矢量绘图的方式了。
  矢量绘图实现方式
  相比之下,矢量绘图就会稍微麻烦一点,所谓矢量绘图,就是将path曲线直接生成一个独立的对象,将该对象添加到scene中,这种模式下会有一个缺陷,就是当画线较多的情况下,刷新会比较慢,因为会导致整条曲线(只要有交集)刷新,从而导致卡顿的效果,并且在擦除时,需要实时计算擦除的path与实际线条path的交集,然后进行计算,减去擦除的path,这个过程是最耗时的,并且也会引发整个item刷新。前面写过文章介绍QGraphics体系的刷新机制
  双缓冲绘图
  上面介绍到,通过非矢量绘图的方式,速度会非常快,那么双缓冲绘图就是要结合非矢量来进行,其原理就是:在press事件中生成一条path,接着move中动态增加这条path,然后在临时层上进行非矢量绘图,这时候绘制的速度会非常快,最后在release事件中将完整的path绘制成矢量图,然后将临时层画线清空。基本原理就是这样。
  双缓冲绘图方式,在绘制过程中是通过非矢量的方式在临时层进行,release后生成完整的矢量path,这种方式速度会非常快,并且直接绘制完整的一条path不会有锯齿。所以这是最佳选择。
  【领QT开发教程 学习资料,点击下方链接莬费领取  ,先码住不迷路~】
  点击这里:「链接」

你眼中的外星怪兽长什么样,达尔文4号行星10种巨兽解密人类最好奇的事情是浩瀚的宇宙中,除了地球之外还有其他星球会存在生命吗?如果存在它们的样子和我们会有多大的差别呢?Discovery的高分纪录片alienplanet为我们展示了科学1月新游预览2022暴风雨前的宁静,彩六异种第一枪岁末年终,崭新的2022正向着玩家招手,从已知情报来看至少超过5款备受期待的大作将在2022与玩家见面,而即将到来的1月,正式暴风雨前的宁静。一月份玩家们将会迎来彩虹六号异种宝可梦家庭教育促进法元旦正式施行,依法带娃时代来临家庭教育促进法出台了,你们都知道吧?2022年1月1日起,正式施行。小编看了一遍又一遍,给你们做出了总结。李四给六年级的女儿额外布置作业,睡觉前,小美突然问她爸爸妈妈给我额外布置卷长期食用微波炉加热的食物,有害健康还致癌?3个建议不妨看看你怎么又带饭去公司加热,我都说了多少遍了,会得癌症的!妈,那是谣言,你怎么就不信了,我这7个月的肚子,下楼排队吃饭真的很不方便!走走走,跟我去医院,肚子里孩子出事,我就让我儿子跟你扑通独自旅行是自我治愈的过程大概是从大一的时候开始接触复古文化和喜欢摩托车的。一方面是受到当时的男朋友的影响另一方面,是有个电影画面女孩骑着摩托车载着小狗一起到处游玩,让我一下子就心动了。到后来大二的时候,自快看是不是你美丽的老家农村上榜了!网友我也想去那里看看一个村子里有好多个小商店,房子都是用木头或石头搭建的房子。天气好的话,有的人家门口会坐着六七个老大爷,在那下象棋,格外的热闹,有的时候还能听到三轮车的声音,路都是坑坑洼洼的土路。土季季阳光照山核核桃油与许多植物产品一样,在16世纪,核桃在中国和欧洲被用作治疗头部创伤的药物。因为核桃看起来和人脑相似,希腊人相信吃核桃可以减少头部损伤。据本草纲目记载,核桃仁味甘,性温。具有益气养血不想学习火箭打法!特鲁姆普一意孤行,暴露问题恐难超塞尔比在斯诺克领域,特鲁姆普的地位显而易见,但在享有高人气的同时,关于特鲁姆普的实力争议频现,话题最多的就是特鲁姆普小型赛事之王的称号,加上本赛季,特鲁姆普尚未有出色发挥,世界排名呈下滑TGA系列双人成行,像孩童一样快乐本文含轻微剧透。今年的TGA年度大奖已经公布,双人成行不出意外的获得了年度最佳游戏的殊荣。这是一款厚积薄发的游戏,它并没有做过多的宣发,也没有标榜自己是大制作,更没提前内测然后延期一年55枚,完美收官,2021中国航天火箭发射数量创新高,力压美俄距离2021年结束只有不到2天时间了,而在12月29日19时13分,长征二号丁运载火箭遥四十一,将自然资源部的天绘4卫星送入太阳同步轨道12月30日0时43分,长征三号乙遥八十四火I7处理器秒变奔腾处理器,维修店看你不容易,不收钱了I7处理器的电脑进维修店后秒变奔腾处理器,电脑维修店得了便宜还卖乖,维修店看你也不容易,人也不错,处理器的钱就不另收了。处理器是电脑的灵魂,处理器既是电脑的运算核心又是电脑的控制核
陈戌源李铁后时代,中国足球有无可能脱胎换骨,重回亚洲劲旅之列足球是一项展示力量与速度美的体育运动。国内,乃至世界上都有众多狂热的球迷。中国足球,虽然在世界上是一支几流球队。但当年在亚洲也曾名列前茅,打过世界杯。但看看现在的国足,成何体统。简稳字当头中国女排二传刁琳宇需要适当增重增肌2022年蔡斌指导走马上任中国女排后,嫡系弟子刁琳宇取代了原中国女排主力丁霞成为球场上的大脑和教练,是其光速体系的主要执行者。从数据上看,2022年刁琳宇在国际赛场上交出的答卷,基315当天又见车辆自燃新能源车究竟还有多少大坑中国经济周刊经济网讯(记者张宇轩)汽车行业历来是消费者投诉的重灾区,特别是在新能源车领域,电池自燃车机系统故障续航里程缩水刹车失灵等屡屡成为投诉关键词。今年的315消费者权益日,又抵押房产高管减持套现约百亿,中公教育困在退费里界面新闻记者查沁君界面新闻编辑在持续四个多月高管大规模套现后,深陷退费泥淖的中公教育(002607。SZ)把名下房产也抵押了。3月17日晚,中公教育公告称,其全资子公司北京中公教育上汽大众补贴37亿元,广汽送粤A蓝牌!车企价格战还在升级,可持续吗越来越多的车企老大哥开始加入愈演愈烈的降价潮。3月17日,上汽大众宣布推出37亿元购车补贴,单车限时优惠最高为5万元,本次补贴活动将持续至4月30日。上汽大众大众品牌官方微博截图在河南发布关键经济数据,透露哪些信息?大河财立方记者段伟朵陈诗昂立方数读扛稳经济大省要勇挑大梁政治责任,实现经济发展质量更高效益更好速度更快,是2023年河南经济工作的主旋律。透过数据看趋势谋未来。即日起,大河财立方推工业富联回应百亿分红ChatGPT浪潮下深挖算力市场21世纪经济报道记者倪雨晴深圳报道工业富联日前发布的财报显示,2022年公司全年营业收入5118。50亿元,同比增长16。40归母净利润200。73亿元,同比微增0。3经营性现金流多家银行走进云南各地园区宣传消费者权益保护图为金融机构在昆明产业园区内宣传消费者权益保护。金融机构供图中新网昆明3月18日电(记者缪超)连日来,中国银行农业银行交通银行等金融机构在云南银保监局的指导下走进云南各地园区,联合商务出行需求集中释放中国酒店市场加快复苏央视网消息2月份,中国非制造业商务活动指数显示住宿商务服务等行业的商务活动指数位于60以上的高位景气区间,这些行业的快速复苏一方面和消费回暖有关,另一方面也与商务活动的快速重启有关2022中部百强县名单,看中部县域经济谁最强,是湖南还是湖北现在中部省份的经济规模在全国已经占据了重要地位,2022年六省GDP占全国GDP总量超过20。但从各省细分,有些城市的市域经济强,有些城市的县域经济强。湖南长沙从2022年中部百强市场和产地双向奔赴!日照绿茶与中茶签约3月17日,茶香巨峰联合社与中茶(北京)连锁商业有限公司签约。中茶(北京)连锁商业有限公司(以下简称中茶)是世界500强之一中粮集团有限公司成员企业,以好茶在中茶为品牌主张,致力于