QPainter使用QImage做画布时花屏
记录一个工作中遇到的问题,使用QImage作为画布,进行绘制,格式为QImage::Format_RGBA8888
,需要透明通道,代码如下:
std::shared_ptr<QImage> canvas = std::make_shared<QImage>(drawMapConfig.canvasWidth, drawMapConfig.canvasHeight, QImage::Format_RGBA8888);
QPainter painter(canvas.get());
painter.setRenderHints(QPainter::SmoothPixmapTransform | QPainter::Antialiasing);
...
// 设置颜色
QColor colorBg(120, 120, 120, 120);
painter.setPen(colorBg);
painter.setBrush(QBrush(colorBg, Qt::SolidPattern));
// 进行绘制
...
在调试时,发现缩放窗口,会导致绘制花屏,但是把透明通道关闭,设置格式为QImage::Format_RGB888
就不会花屏。
经过不断测试,最终解决,只需在初始化时,把Image填充为透明色就行了。代码如下:
std::shared_ptr<QImage> canvas = std::make_shared<QImage>(drawMapConfig.canvasWidth, drawMapConfig.canvasHeight, QImage::Format_RGBA8888);
// 填充为透明色,即可解决
canvas->fill(Qt::transparent);
QPainter painter(canvas.get());
painter.setRenderHints(QPainter::SmoothPixmapTransform | QPainter::Antialiasing);
QPainter使用QImage做画布时花屏相关推荐
- macbook关机时花屏/软件更新无法连接互联网
文章目录 1. 问题描述 2. `有效!`卸载某些花屏最近更新过的软件 3. 根据Apple社区的回答 4. 系统软件更新显示 无法连接互联网 5. App Store无法更新软件 1. 问题描述 以 ...
- 笔记本安装Windows+Ubuntu双系统时花屏问题及解决方案
笔记本安装Windows+Ubuntu双系统时花屏问题及解决方案 我的电脑显卡是nvidia.本文也是针对nvidia显卡的电脑. 这个问题根本上是电脑的显卡和Ubuntu系统不匹配的问题. 先上图 ...
- Ubuntu18.04 使用U盘装机时花屏和开机时花屏的解决办法
Ubuntu18.04 使用U盘装机时花屏和开机时花屏的解决办法 问题描述 具体步骤 1. 用U盘装系统 2. 开机 参考文章 问题描述 有一台主机,需要安装Ubuntu18.04系统. 1.用启动盘 ...
- 达芬奇在AMD处理器的联想电脑上编辑视频时花屏、卡帧、闪烁的解决方法
故障描述:达芬奇在使用AMD 4000系列移动端处理器的联想笔记本电脑上处理视频时出现了时间线花屏.修改时间线上的素材后播放时画面卡在两帧以内反复闪烁.画面闪烁黑帧的问题,重装软件.更换版本均无法有效 ...
- moviepy音视频剪辑:使用rotate函数实现视频变换处理以及参数expand取值为True时的花屏问题解决方案
☞ ░ 前往老猿Python博文目录 ░ 一.rotate函数功能介绍 moviepy的rotate函数用于将剪辑逆时针旋转指定的角度或弧度. 调用语法:rotate(clip, angle, uni ...
- Premiere 新建项目导入视频后 视频花屏解决办法
最近发现有的电脑用Adobe Premiere Pro新建项目后,导入视频到序列中,在预览视频时花屏,看不清画面 原因是:显卡驱动和渲染程序[Mercury playback Engine GPU加速 ...
- 计算机启动有一些花瓶,电脑花屏是怎么回事 电脑出现花屏的解决法【方法详解】...
电脑花屏是怎么回事? 大家经常使用电脑难免遇到一些小故障,其中电脑花屏就比较常见.假如一开机显示就花屏的话则先检查下显卡的散热问题,用手摸一下显存芯片的温度,检查下显卡的风扇是否停转.再看看主板上的显 ...
- 随笔:说说第一次在android中嵌入非全屏显示的unity游戏时的坑之——界面切换时出现延迟/卡顿/花屏等现象解决方法
One 最近对接了个unity3D做的小游戏到android项目中:游戏嵌入项目的界面且非全屏显示,项目几经波折,到我手上的时候,已经采用了在同一个activity中用两个View来分别显示andro ...
- Android花屏分析,Unity游戏在手机上运行时的花屏现象
问题 这是一个UI界面,使用NGUI构建,在Unity编辑器里运行没任何问题,但发布后在手机端(Android,iOS未测试)运行出现花屏现象,见图. 花屏 且不同的手机的状况不一样,在我的小米4C中 ...
最新文章
- Oracle 10G select工作原理
- java算法2_二分查找法
- Jmeter参数化的理解
- [html] 如何在网页中嵌入公司地址的地图?
- 九章云极DataCanvas完成C轮融资:定义标准化AI基础架构未来
- PAT乙级 1027 打印沙漏
- ASP.NET HyperLink控件NavigateUrl中用到DataBinder.Eval时
- 【运动学】基于matlab质点极坐标系中运动规律(螺旋运动)【含Matlab源码 977期】
- sql注入攻击与防御第二章
- Andriod Recovery模式及ClockworkMod Recovery简介
- Microsoft Office 2010 中的 Office 检测到此文件有问题
- html - - - 设置网页图标logo
- java 截取视频_2种方式获取视频时长、截取视频帧作为封面(java or H5)
- Tomcat 服务器搭建
- 计算机管理哪个是主板驱动,请问一下这里面哪个是主板驱动?
- 资讯类App主流框架(一)
- 如何知晓代理IP所属城市?
- stata 均值和标准差
- BZOJ 3238 差异 [后缀自动机]
- 算法训练Day44 动态规划专题- 背包问题 | 完全背包基础知识;LeetCode518. 零钱兑换(装满背包有多少种方法,组合数);377.组合总和IV(装满背包有多少种方法,排列数)