QImage加载的png所占内存过大

oldmtn 2014-12-25 03:33:25
有一个图片
png
427KB
2480 X 3507

使用QImage* pImage = new QImage(strImagePath);后

pImage->byteCount() = 34789440
即33M

图片从427KB ==> 33M, 扩大了79倍。
虽然知道png是压缩的,加载到内存会变大,但是也不该放大这么多啊。。
...全文
1134 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
oldmtn 2014-12-26
  • 打赏
  • 举报
回复
引用 4 楼 Inhibitory 的回复:
1. 用QImage加载png 2. QImage.scaled把图片缩放到要显示的合适大小 3. 把QImage转换成QPixmap显示
对于1: 我目前就是用QImage加载的,你是指不动态new,直接设置成员变量?我想应该是一样的,没什么改进。 然后我做来个实验,依然占用很多内存。 对于2:因为我这里需要支持随时放大缩小,故不适用。 对于3:网上说QPixmap比QImage占用的内存还要多。
Inhibitory 2014-12-26
  • 打赏
  • 举报
回复
1. 用QImage加载png 2. QImage.scaled把图片缩放到要显示的合适大小 3. 把QImage转换成QPixmap显示
oldmtn 2014-12-26
  • 打赏
  • 举报
回复
引用 1 楼 dbzhang800 的回复:
应该没什么问题,假定你的png是的 BPP 是 32 >>> 2480*3507*4 34789440 话说,不正是因为位图数据保存时太占空间(传输太占带宽),才有 png/jpeg/jp2 等东西存在么,不就是为了是这个压缩比尽可能大么?。
可是在Windows里面加载同样的一张png,却没有消耗近33M的内存啊。。。。 我们可不可以自己实现windows的这套方法。
oldmtn 2014-12-25
  • 打赏
  • 举报
回复
因此当我这个程序里面有60张该图片的话,一下子要消耗近2G的内存.吃不消啊.
dbzhang800 2014-12-25
  • 打赏
  • 举报
回复
应该没什么问题,假定你的png是的 BPP 是 32 >>> 2480*3507*4 34789440 话说,不正是因为位图数据保存时太占空间(传输太占带宽),才有 png/jpeg/jp2 等东西存在么,不就是为了是这个压缩比尽可能大么?。
源码下载地址: https://pan.quark.cn/s/7a349ad53637 在地理信息系统(GIS)领域中,土地利用现状图被视为一种核心的数据可视化手段,其主要功能在于呈现特定区域的土地使用格局,涵盖农业、住宅、工业、绿地等多样化的土地利用类型。此类信息对于城市规划、环境分析、土地监管以及决策制定具有基础性作用。在编制土地利用现状图的过程中,符号库的构建与样式匹配环节是保障地图具备清晰度、精确性及视觉美感的核心步骤。所谓"样式匹配",是一种技术手段,旨在让用户能够将特定的符号或视觉样式与地图中的数据要素建立关联。在本资源中,提及的"样式匹配lyr"文件或许是一个ArcGIS(一种广受欢迎的GIS软件)所使用的图层样式文件,该文件内含了预设的图例符号及使用规范,用以区分不同的土地利用类别。用户若将此lyr文件导入至个人项目中,便能够迅速为土地利用现状图层赋予统一且专业的视觉表现。符号库则是指存储各类图形符号的集合,这些符号在地图上代表了不同的地理要素。对于土地利用现状图而言,每一类土地通常都会对应一个特定的符号,比如农田可能以绿色填充图案来表现,而建筑用地则可能采用灰色的实心形状。这些符号库对于统一地图的视觉呈现至关重要,有助于观者迅速把握地图所传递的信息。在ArcGIS软件中,用户能够通过"图层属性"界面来调控图层的视觉样式。在该界面中,用户可以选择"符号"面板来设定数据的可视化方式,或选择"标签"面板来管理要素的标注规则。借助"加载样式"功能,用户可以将"样式匹配lyr"文件中的样式规则应用到当前图层,以此规避逐一对每个土地利用类型进行符号的手动配置。不仅如此,为了达成卓越的可视化效果,可能还需对其他图层属性进行微调,例如调节透明度、设置比例尺依赖...
内容概要:本文围绕直流电机转速电流双闭环调速控制系统模型的研究,基于Matlab/Simulink平台实现了系统的建模仿真与动态性能分析。详细阐述了双闭环控制结构的设计原理,重点剖析转速环与电流环的协同控制机制,通过PI控制器实现对电机转矩和转速的精确调节,有效提升系统在负载扰动下的稳定性与响应速度。文中系统介绍了Simulink中各功能模块的搭建方法,包括电机本体模型、电流检测、转速反馈、调节器设计及PWM驱动等环节,并提供了关键参数整定策略与仿真结果验证,全面展示直流电机高性能调速控制的技术路径与工程实现细节。; 适合人群:具备自动控制原理、电力电子技术和Matlab/Simulink仿真基础的电气工程、自动化、机电一体化等专业的本科生、研究生,以及从事电机驱动与运动控制研发的工程技术人员。; 使用场景及目标:①用于高校课程设计、毕业设计或科研项目中直流电机控制系统的仿真建模与性能优化;②为工业现场高性能电机驱动系统的设计与调试提供理论依据与技术参考;③深入掌握双闭环PID控制在电机系统中的工程应用,提升系统动态响应、抗干扰能力和稳态精度。; 阅读建议:建议读者结合文中所述模型结构与参数设置,动手搭建Simulink仿真模型,重点理解内外环控制的耦合关系与PI调节器的动态调节过程,可通过改变负载条件和控制器参数进行对比实验,进一步探究先进控制策略(如自抗扰控制、模糊PID等)的改进潜力。

21,498

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧