首页 > 其他分享 >PNG图片数据格式

PNG图片数据格式

时间:2024-05-23 16:57:23浏览次数:25  
标签:文件 存储 0A 数据格式 256 PNG 图片

存储类型[编辑]

PNG图片主要由三种类型存储

  • PNG 8:图片使用8 bits来存储,可以用2的8次方大小个种类颜色来存储一张黑白的图片。也就是说PNG 8能存储256种颜色,因为颜色少,文件体积也非常小,一张图片如果颜色简单,将它设置成PNG 8的图片是非常省空间合适的。
  • PNG 24:图片使用24bits来存储,用三个8bits分别去表示 R(红)、G(绿)、B(蓝)三个通道(Channel)的数值。可以表达256乘以256乘以256=16777216种颜色的图片,色彩丰富度更高,但相对的所占用的空间也就更大了。
  • PNG 32:图片使用32bits来存储,相当于PNG 24 加上 8bits的透明颜色通道,总共有R(红)、G(绿)、B(蓝)、A(透明)四个通道。图片能表示的色彩跟PNG 24一样多,并且还支持256种透明度,能让图片色彩更加丰富。

文件资料构成[编辑]

PNG图像格式文件由一个8字节的PNG文件标识(file signature or file header)域和3个以上的后续数据块(chunk)如:IHDR、IDAT、IEND等组成。

PNG文件包括8字节文件署名(89 50 4E 47 0D 0A 1A 0A,十六进制),用来识别PNG格式

 

十六进制含义
89 用于检测传输系统是否支持8位的字符编码(8 bit data),用以减少将文本文件被错误的识别成PNG文件的机会,反之亦然。
50 4E 47 PNG每个字母对应的ASCII,让用户可以使用文本编辑器查看时,识别出是PNG文件。
0D 0A DOS风格的换行符(CRLF)。用于DOS-Unix数据的换行符转换。
1A 在DOS命令行下,用于阻止文件显示的文件结束符。
0A Unix风格的换行符(LF)。用于Unix-DOS换行符的转换。

标签:文件,存储,0A,数据格式,256,PNG,图片
From: https://www.cnblogs.com/jonvy/p/18208939

相关文章

  • python直接调用InstantID进行图片生成
    项目地址https://github.com/InstantID/InstantID克隆到本地,根据要求pip安装依赖模型文件上篇文章讲了如何下载https://www.cnblogs.com/qcy-blog/p/18202276我用的windows,所以改了一下示例infer.py源码,主要是修改了模型得绝对路径。importcv2importtorchimportnumpy......
  • JS历理 点击图片在弹出层显示大图
    <!DOCTYPEhtml><html><head><metacharset="utf-8"><metaname="viewport"content="width=device-width,initial-scale=1,maximum-scale=1"><title>后台首页-ICbA后台模板-普通版演示</title><m......
  • .NET 8 使用官方OpenXml SDK,替换Word中的文字和图片
    安装好DocumentFormat.OpenXml后,准备好一个docx文件usingDocumentFormat.OpenXml.Drawing.Wordprocessing;usingDocumentFormat.OpenXml.Packaging;usingDocumentFormat.OpenXml.Wordprocessing;usingSystem.Text.RegularExpressions;usingA=DocumentFormat.OpenXm......
  • 使用poi向word中插入文字或图片
    参考自https://blog.csdn.net/weixin_50638065/article/details/133958393依赖包最下面的两个包肯定需要的,其他的有几个不需要的,自己试着删一下,用不了这么多<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>5.2.2</v......
  • java 上传图片文件给前端
    /***查询对象*/@GetMapping("/getImage")@ApiOperationSupport(order=1)@ApiOperation(value="上传图片",notes="保存本地")publicRgetImg(StringjobId,HttpServletResponseresponse)throwsIOException{//region上传图片给前端Filefil......
  • java 获取前端上传的图片文件
    /***获取上传图片*/@PostMapping("/getImage")@ApiOperationSupport(order=1)@ApiOperation(value="获取图片",notes="保存本地")publicRStringuploadtaskpic(MultipartFilemultipartFile,StringjobId,HttpServletRequestrequest)throwsIO......
  • PDF文档里的图片提取转文字
    最近需要处理一堆PDF文档,这堆PDF文档中有图片,并且需要提取出pdf中的图片来识别图片中的文字,老规矩先上代码:importosimportfitzimportpytesseractfromPILimportImage#设置TesseractOCR引擎的路径(根据你的系统环境修改)pytesseract.pytesseract.tesseract_cmd=r'C......
  • 【博客园发文技巧】不离开编辑页面,批量添加图片链接和设置图片大小
    参考文档:https://www.cnblogs.com/sanshi/p/3794796.html起因在博客园写文章,有时需要上传好多大图片,如果这些图片过大,则会导致页面变形。因此有一个实际的需求,能够在博客园的编辑页面,直接批量修改所有图片的大小,然后给这些图片添加链接,以便点击时转到大图。简单实现在博客园......
  • 随机二次元图片API第三弹
    Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解`随机二次元图片API第三弹日期:2020-3-10阿珏折腾代码浏览:3717次评论:27条本来我都把第二弹置顶上来了,没打算在发第三弹的,然后想着想着又憋......
  • Liunx下通过netcore接口生成前端图片的问题。
    用netcore来生成前端微信Native支付的二维码。1、首先CentOS7.0要安装libgdiplus,命令如下:yuminstalllibgdiplus-devel,然后重启netcore服务。//这个地方要注意,网上有不少例子的下载命令是错的,有的时候安装不上。2、Vs代码使用QRCoder库,代码如下publicstaticMemoryStream......