`
security
  • 浏览: 381337 次
  • 来自: www.pgp.org.cn
社区版块
存档分类
最新评论

PNG头文件格式分析

阅读更多

00000000h: 89 50 4E 47 0D 0A 1A 0A00 00 00 0D49 48 44 52 ; 塒NG........IHDR
00000010h: 00 00 00 CE 00 00 00 CE 08 02 00 00 00 F9 7D AA ; ...?..?....鶀?
00000020h: 93 00 00 00 09 70 48 59 73 00 00 0A 75 00 00 0A ; ?...pHYs...u...
00000030h: 75 01 4A 25 DD FD 00 00 0C 91 49 44 41 54 78 9C ; u.J%蔟...慖DATx?
00000040h: ED 9D D9 96 DC 2A 0C 45 A9 AC FC FF 2F D7 7D 70 ; 頋贃?.E┈?/讅p
00000050h: C7 97 66 10 9A 98 CF 7E C8 EA 54 95 6D 86 83 24 ; 菞f.殬蟸汝T昺唭$
00000060h: 04 B6 3F DF EF 37 00 D0 9F 3F B3 0B 00 6E 01 52 ; .?唢7.袩??.n.R
00000070h: 03 83 F8 3B BB 00 AB F2 F9 98 0E 47 58 92 01 A9 ; .凐;?鶚.GX??


89 50 4E 47 0D 0A 1A 0A 是PNG头部署名域,表示这是一个PNG图片
00 00 00 0D 描述IHDR头部的大小
49 48 44 52 是Chunk Type Code, 这里Chunk Type Code=IHDR
00 00 00 CE 00 00 00 CE 08 02 00 00 00 描述了Chunk Data,它是可变长度数据,00 00 00 0D 定义了长度为13个Bytes,所以,这里,你看到是13个字节)
F9 7D AA 93 是对IHDR的CRC校验

紧接着下面的就是pHys数据块,原理也是一样。


分享到:
评论

相关推荐

    Tecplot-user-manul.rar_tecplot_tecplot头文件_点云图

    6. 输出和保存:最后,可以保存图像为各种图形格式,如JPEG、PNG或PDF,以便于报告和演示。 在实际操作中,Tecplot还提供了高级功能,如动画制作、剖面图、等值线图等,以满足用户对数据深度分析的需求。同时,...

    mfc加载png格式的图片.rar

    本篇文章将深入探讨如何利用MFC的CImage类来加载PNG格式的图片,并对其他格式的图片加载失真的问题进行分析。 首先,`CImage`是MFC提供的一种用于处理图像的类,它支持多种图像格式,包括BMP、JPEG、GIF、PNG等。在...

    Java压缩PNG图像文件.rar

    5. **后处理**:压缩后,可能需要进行一些优化,例如删除不必要的元数据,或者使用更紧凑的PNG头文件格式。 在给定的"codesc.net"文件中,可能包含了实现上述技术的Java源代码。这些代码可能包含读取PNG图像,执行...

    PNG_png_

    PNG(Portable Network ...通过理解这些概念和函数,你可以创建一个能够处理PNG图像的应用,比如图像显示、处理或者分析。在实际开发中,还需要考虑错误处理、内存管理和性能优化等方面,确保程序的稳定性和效率。

    MFC利用png实现透明按钮的demo示例,可以直接加载PNG文件或先包含到程序资源中再加载 按钮的高亮与灰度图像都是自动生成

    通过阅读和分析这些文件,你可以理解如何在MFC中实现PNG透明按钮,并将其应用到自己的项目中。这个示例是一个很好的起点,展示了如何将现代图像格式与MFC的经典API结合,为Windows应用程序增添更多视觉吸引力。

    遥感影像png格式转tif格式

    本教程将详细介绍如何将PNG格式的遥感影像转换为TIFF格式,并提供一个使用C++编写的完整代码示例。 PNG是一种无损压缩的图像格式,它支持透明度和24位色彩,文件体积相对较小,适用于网页和其他对文件大小有要求的...

    CXimage类 库文件和头文件

    - `CXImage`类的实例可以创建、加载各种常见的图像格式,如BMP、JPEG、PNG、GIF等。 - 它还支持基本的图像操作,例如缩放、旋转、裁剪、色彩转换等。 3. **使用CXimage库** - 在C++项目中,首先需要包含CXimage...

    c++CImg.h头文件

    例如,你可以使用`load`函数从各种格式的图像文件中加载数据,如JPEG、PNG、BMP等;`display`函数则可以在窗口中显示图像;`save`函数可以将图像数据保存到文件。此外,`CImg`还提供了图像的基本操作,如调整大小、...

    GDAL头文件与依赖库

    - **libpng/jpeg**: 用于读写PNG和JPEG图像格式。 - **SQLite**: 在某些情况下,GDAL使用SQLite作为内置数据库,存储元数据和其他信息。 - **XML处理库**:如libexpat,用于解析和生成XML文件,如GDAL的配置选项...

    开源图像库leptonica头文件和库文件

    1. 图像读取和写入:支持多种图像格式,如BMP, GIF, JPEG, PNG, TIFF等,使得在不同格式间转换成为可能。 2. 基本图像操作:包括缩放、旋转、裁剪、颜色空间转换、直方图计算等,这些都是图像处理的基础。 3. 高级...

    VC 贴png 图片的多种方法 及Gdiplus的使用

    在VC++中直接处理PNG图像并不像处理BMP等简单格式那样直接,因为Windows API默认不包含PNG的支持。不过,可以借助第三方库或者Microsoft的GDI+来实现。 GDI+是Windows平台上的图形设备接口扩展,它提供了对PNG、...

    gif-jpg-png.zip_GIF c++_gif_jpg web_png_png jpg

    通过分析这些文件,开发者可以学习如何在C++环境中处理图像,包括读取、写入、转换以及在用户界面上显示这些Web常用的图像格式。同时,这也为创建一个简单的图像查看器或者更复杂的图像处理应用提供了基础。理解并...

    gdal库(含gdal200.dll,gdal-i.lib文件,以及各类头文件)

    5. **GDAL支持的数据格式**:GDAL支持众多栅格和矢量数据格式,如TIFF、JPEG、PNG(栅格)、ESRI Shapefile、GeoJSON、GPKG(矢量)。这使得GDAL成为处理不同来源地理数据的强大工具。 6. **GDAL的主要功能**: - ...

    png.rar_Only

    通过分析`png.c`的源代码,我们可以了解回调函数的具体实现,如何识别和处理未知块,以及如何与其他PNG文件处理逻辑交互。而`png.h`则揭示了库对外提供的接口,让我们知道如何在自己的程序中利用这个功能,比如注册...

    VC图像处理入门及DIB头文件

    2. 图像文件格式:BMP、JPEG、PNG等,以及它们的特点和用途。 3. MFC库中的CImage类:用于读取、显示和修改图像的基本工具。 4. DIB结构体:如BITMAPINFO和BITMAPINFOHEADER,用于解析和创建DIB位图。 5. 图像操作:...

    bmp文件格式分析及其编程

    综上所述,BMP文件格式分析与编程涉及了文件结构的理解、图像处理算法的应用以及编程技巧的运用。通过深入学习和实践,不仅可以掌握基本的图像处理技能,还能为其他高级图像处理技术打下坚实基础。

    symbian png jpg gif转换

    这个压缩包文件涉及的主题是图像格式转换,特别是PNG、JPG和GIF这三种常见图像格式在Symbian系统上的互转。文件`ImageHelper.cpp`和`ImageHelper.h`很可能包含了实现这些转换功能的C++源代码和头文件。 PNG...

    BMP文件格式(详细).rar_bmp处理

    此外,了解BMP文件格式也有助于开发者在与其他图像格式(如JPEG、PNG等)进行互操作时,进行有效的转换和兼容性处理。 在实际开发中,处理BMP文件可能涉及的任务包括图像的读取、显示、编辑、保存等。这需要对BMP...

    Test_PNG.rar_DEMO_test图形编程

    PNG(Portable Network Graphics)是一种常见的位图格式,支持透明度和无损压缩,常用于网页设计和软件界面。 描述中提到的"GDI图形编程库 gdi+ 包括头文件 LIB 和DLL 可直接使用",意味着这个压缩包内提供了GDI+的...

    博客代码示例

    【标题】"博客代码示例...通过上述分析,我们可以看到这个博客代码示例涵盖了图像处理的多个层面,包括文件格式解析、数据恢复、编程基础和库的使用,对于想要深入学习PNG图像处理的开发者来说具有很高的参考价值。

Global site tag (gtag.js) - Google Analytics