libpng(一)

2023-09-24 13 0

libpng学习(在windows下)


libpng的编译

文章目录

  • libpng学习(在windows下)
    • libpng的编译
  • 前言
    • 最近学习了png格式的文件,许多地方要用到png,但是win11下的编译很少
  • 一、libpng是什么?
  • 二、下载
    • 1.libpng和zlib的下载
    • 2.
    • 3.进入工程
  • 总结

前言


最近学习了png格式的文件,许多地方要用到png,但是win11下的编译很少

一、libpng是什么?

libpng是一款C语言编写的比较底层的读写PNG文件的跨平台的库。借助它,你可以轻松读写PNG文件的每一行像素。(但是libpng使用到了zlib,因此要一起下载)
因为PNG文件是经过无损压缩而且格式复杂的图形文件,而且PNG可以是带透明通道的真彩色图像、不带透明通道的真彩色图像、索引颜色、灰度颜色等各种格式,如果大家都自己写程序分析PNG文件就会显得很麻烦、很累。因此,通过使用libpng你就能直接使用现成的函数、程序来读写PNG文件了。
目前,我尝试的是bmp和png互相转换。

二、下载

1.libpng和zlib的下载

链接: zlib

链接: libpng

或者从这里进入:libpng &zlib

下载完后要注意将两者文件压缩完放在同一目录下

2.

类似如图

注意zlib解压缩完是zlib+版本,要改成zlib

或者(不推荐)

在这里插入图片描述
在zlib.props中改,zlib改为你解压缩出来的名字

3.进入工程

…\lpng1637\projects\vstudio
在这个目录下 ,找到vstudio.sln ,打开后,发现编译失败。
在这里插入图片描述
看到这个,选择zlib 右击属性(最下面的选项)
在这里插入图片描述

将警告等级设为 W1,将警告视为错误 设为否

然后,重新生成,就可以运行了

可以得到png ->png的test程序,可以在上面改动。


总结

本次我们只是学习了编译,下次我们从png图片开始解析。

代码编程
赞赏

相关文章

IOC容器——Unity 深度解析(一)
IOC容器——Unity
c#——标准Dispose模式的实现
c#——表达式树在LINQ动态查询
c#——ExpessionTree(表达式树)
c#—— Task.FromResult 的使用