前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >为什么同一张图片,格式不同,大小会不一样?(科普)

为什么同一张图片,格式不同,大小会不一样?(科普)

作者头像
叶子陪你玩
发布2021-11-02 14:30:53
3.1K0
发布2021-11-02 14:30:53
举报
文章被收录于专栏:叶子陪你玩编程

下面是四张同样的图,但是格式不一样,观察它们的内存大小会发现,jpg格式图片只有20.9KB,而png格式的有385KB,BMP格式更大,带有透明通道的RGBA格式BMP最大,达到664KB。

为什么会出现上面这种不同的情况我们一会再说,先说说一张完整无压缩图片的大小是怎样计算的。

计算机中最小的存储单位是bit,中文叫作位,也叫比特位;比它大一级的是叫作byte,就是字节,1byte=8bit,1byte就是1B,通常我们看到的英文字符ABcd...,一个字符占用的大小就是1B;

比如往一个空文件里写入ab两个字符,查看其大小会发现为2B;

而1KB=1024B。

一张图片是由很多像素点组成的,而每个像素点是由红绿蓝三个通道组成的,也就是所谓的R,G,B,表示成数字就是0-255中的一个数字,一共256种可能,转换成二进制01010101,最多可达到8位,也就是1B。

随意截取图片的一块放大看,会看到很多小方格,这个小方格就是像素点,用R,G,B数字表示可能是220,255,255。

一个数字占1B,一个像素点就占3B,一张图片总共的像素点是它的宽乘以高;总的内存大小就是 宽*高*3B;如果转换成KB,还得除以1024。

下面再来看看之前的图片:

RGB模式的BMP文件刚好就是498点多,约等于499;

RGBA模式BMP文件比RGB多一个通道,所以乘以4;

JPG和PNG因为有一定的压缩比例,大小就不能这样算了;

总结:

之所以会出现上面不同的大小,是因为不同格式文件的图片,会有不同程度的压缩,因此所占的内存空间是不一样的,常见的图片格式有bmp,jpg以及png。

  • bmp
    • 全称:Bitmap
    • 不压缩
  • jpg
    • 全称:Joint Photographic Experts Group
    • 有损压缩方式
  • png
    • 全称:Portable Network Graphics
    • 无损压缩方式

同一个文件如果保存成不同的格式后,文件大小上bmp肯定是最大的,并且可以通过宽和高计算出来,和色彩鲜不鲜艳没关系;而png和jpg,不同的压缩比结果会有所不同;以后如果网站想要极大的压缩,可以搞成JPG,但是也会有些损失。

(全文完)

欢迎转载,转载请注明出处! 欢迎关注公众微信号:叶子陪你玩编程

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-10-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 叶子陪你玩编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档