libpng 处理png图片
尝试
最近遇到一个需求需要处理png 图片,由于处理过bmp 图片,所以想跟bmp 图片的处理过程一样直接去掉头信息,但是发现解开png之后发现头信息中数据长度和实际的的,data 数据量对不上,发现数据是压缩,跟bmp 的就不一样了。
解决方案
自己去解压数据肯定不现实,查到png 图片一般都是使用libpng 来处理,libpng 是一个开源库
这个开源库有windows 和Linux 的版本,有编译库 有demo 在开源软件中算是一个比较完善的项目。
编译
现需要下载两个开源代码
1.libpng
http://libpng.com/pub/png/libpng.html
2.zlib
http://www.zlib.net/
VS2015加载libpng,zlib库:
1. C/C++常规->附加包含目录中把包含png.h等头文件的目录加进来
2. 链接器->输入->附加依赖项中加zlib.lib;libpng.lib。
3.通用属性->VC++ 目录->库目录中把放着zlib.lib和libpng.lib的目录加进来。
由于libpng 需要zlib的依赖,所以两个目录需要设置路径索引,在lpng1637\projects\vstudio\下有一个zlib.props 中
按照上面的路径,就不用了改了,直接使用默认的路径
一共7个project
编译的结果
结果
debug 下生成两个lib
libpng 处理png图片相关推荐
- libpng库编码图片为png(RGB压缩为png图片:与ffmpeg视频解码存储为png图片)
//*====== 参考:1.http://blog.csdn.net/solstice/article/details/2062 2.libpng库的example.c文件 ======*// 一. ...
- Java在linux新建png_教你如何使用libpng显示PNG图片
libpng是一个跨平台的png解码库,方便易用.我这里不说它怎么移植,基本上如果是支持fopen之类函数的平台都可以支持.其实他的移植非常简单,zlib可能麻烦一点,但相信一般人都能搞定.主要是文件 ...
- linux 读取png图片大小,使用libpng读取PNG图片像素数据
附录 让我们打开pnglib下面的一个example.c /* Read a PNG file. You may want to return an error code if the read * ...
- OpenGL png图片 纹理贴图,去除png图片黑边
http://blog.csdn.net/cjkwin/article/details/6011882 用libpng把png图片读出来就可以用读出的数据生成文理了. 将png图片作为纹理贴图,在图片 ...
- Android开源项目分类汇总-转载
太长了,还是转载吧... 今天在看博客的时候,无意中发现了@Trinea在GitHub上的一个项目Android开源项目分类汇总,由于类容太多了,我没有一个个完整地看完,但是里面介绍的开源项目都非常有 ...
- 计算机面试数据库基本知识,面试基础知识集合(python、计算机网络、操作系统、数据结构、数据库等杂记)...
JS 面向对象随笔 1.一个对象的静态属性只能通过类名来访问 不能通过实例来访问 如下面定义个HelloWord的类 function HelloWord(){ console.log("这 ...
- LAMP源代码编译整理
在我们编译安装Apache 之前,要考虑的是让Apache 在什么样的模式下运行,因为从Apache 2.0 就加入了MPM(Multi-Processing Modules,多道处理模块). Apa ...
- opencv中的子库
1 FLANN 近似最近邻库,NN就是nearest neighbor的缩写. 2 IlmImf Ilm是Industrial light & magic公司的缩写. Imf是image fo ...
- linux图像显示(五)使用freetype处理矢量字体
linux图像显示 linux图像显示(一)framebuffer操作 linux图像显示(二)bmp图片 linux图像显示(三)使用libjpg处理jpg图片 linux图像显示(四)使用libp ...
- Google Filament 源码学习(二):三方库分类总结
前言 拿到Filament代码一头雾水,到底要怎么看呢,先从第三方库看起吧,如下对三方库进行了分类梳理. 注:刚刚开始学习,有很多库和基本概念都不是很清楚,有不当之处请大家随时指出,本人一定虚心接受. ...
最新文章
- You are my brother
- 每日一皮:以为是王者,没想到是个青铜...
- mysql数据库备份(完全备份,增量备份)
- java gui中文变方块_我的世界Java版 20w48a 发布 添加滴石和尖滴石
- 使用layui的layer组件做弹出层
- python 里什么时候缩进_python什么时候缩进
- IOS绘制渐变背景色折线图的一种尝试
- 一个新基民的感叹:人心不足蛇吞象
- mapred.local.dir
- (转载)JavaScript中的原型和对象机制
- 深入浅出MySQL全文 下载
- 【编译原理】理解BNF
- 项目是通过文件流的方法查看文件 无法直接在线查看mht后缀文件的解决方案
- html学习——介绍
- 忘记开机密码怎么开机
- 国际网页短信后台定制源码搭建软件平台定制-移讯云短信系统
- 2016蓝桥杯报纸页数(C++C组)
- 电子技术——系统性分析反馈电压放大器
- centOS7安装搜狗拼音输入法
- 欧盟调查显示100Mbps宽带网络建设需5020亿欧元资金