图片所占内存大小如何计算

待续_1006 2017-11-22 10:44:35


如何通过图片的宽和高,以及深度,DPI获取图片所占内存大小呢?网上看了几种算法都不对啊。。。。。。。
...全文
1258 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
schlafenhamster 2017-11-22
  • 打赏
  • 举报
回复
用CXimage库或是GDI+,他们都带解码器
待续_1006 2017-11-22
  • 打赏
  • 举报
回复
引用 6 楼 worldy 的回复:
[quote=引用 3 楼 shiyanbo_1006 的回复:] [quote=引用 1 楼 worldy 的回复:] nRamBytes = 长 * 宽 * 4;// 如果每个像素使用4字节 nRamBytes = 长 * int((宽*3+3)/4)*4;// 如果每个像素使用3字节
可你这俩种算法我都实验了,对我上面的图片计算以后,数据不符啊[/quote] 内存的数据和文件的数据不一样,内存主要是解码后的每个点的数据,文件数据要看你的格式、压缩比、文件头、附加信息等等,因此文件数据和图片在内存中的数据差别可能会很大[/quote] 算了,我就是想获取文件大小,直接用一个FILE指针定位获取号了,O(∩_∩)O谢谢,学习了
worldy 2017-11-22
  • 打赏
  • 举报
回复
引用 3 楼 shiyanbo_1006 的回复:
[quote=引用 1 楼 worldy 的回复:] nRamBytes = 长 * 宽 * 4;// 如果每个像素使用4字节 nRamBytes = 长 * int((宽*3+3)/4)*4;// 如果每个像素使用3字节
可你这俩种算法我都实验了,对我上面的图片计算以后,数据不符啊[/quote] 内存的数据和文件的数据不一样,内存主要是解码后的每个点的数据,文件数据要看你的格式、压缩比、文件头、附加信息等等,因此文件数据和图片在内存中的数据差别可能会很大
待续_1006 2017-11-22
  • 打赏
  • 举报
回复
引用 4 楼 schlafenhamster 的回复:
要 解码器 decoder
越来越深奥了,我现在可以用CXimage库或是GDI+,就是想得到图片所占内存大小而已
schlafenhamster 2017-11-22
  • 打赏
  • 举报
回复
要 解码器 decoder
待续_1006 2017-11-22
  • 打赏
  • 举报
回复
引用 1 楼 worldy 的回复:
nRamBytes = 长 * 宽 * 4;// 如果每个像素使用4字节 nRamBytes = 长 * int((宽*3+3)/4)*4;// 如果每个像素使用3字节
可你这俩种算法我都实验了,对我上面的图片计算以后,数据不符啊
阿源是少年 2017-11-22
  • 打赏
  • 举报
回复
文件是多大,载入内存就是多大,这点没什么好怀疑的,根据像素点和位数算出来的只能是像素矩阵的大小,文件因为格式不同,还涉及压缩率的问题,图片文件的实际大小是不会等于你算出来的像素占用空间的
worldy 2017-11-22
  • 打赏
  • 举报
回复
nRamBytes = 长 * 宽 * 4;// 如果每个像素使用4字节 nRamBytes = 长 * int((宽*3+3)/4)*4;// 如果每个像素使用3字节

19,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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