libpng 处理png图片

article/2025/9/14 17:07:00

尝试

最近遇到一个需求需要处理png 图片,由于处理过bmp 图片,所以想跟bmp 图片的处理过程一样直接去掉头信息,但是发现解开png之后发现头信息中数据长度和实际的的,data 数据量对不上,发现数据是压缩,跟bmp 的就不一样了。

解决方案

自己去解压数据肯定不现实,查到png 图片一般都是使用libpng 来处理,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
在这里插入图片描述


http://chatgpt.dhexx.cn/article/klDeFJbU.shtml

相关文章

Image Manipulation with StyleGAN

StyleGAN 特征插值算法复现 本教程通过对 StyleGanV2 网络上的部分修改,实现图片的拼接。 参考论文 StyleGAN of All Trades: Image Manipulation with Only Pretrained StyleGAN 一、StyleGAN 简介 在GAN出现之前,图形学已经出现了一个重要分支&…

GIMP( GNU IMAGE MANIPULATION PROGRAM)

openGL系列文章目录 文章目录 openGL系列文章目录前言一、GIMP获取?二、使用步骤1.安装2.GIMP使用 总结 前言 我们在使用openGL处理纹理时,为了达到某种特效需要对三维模型添加纹理,而有些纹理在网上是下不到的,而且在一些商用项…

【PNG overview】PNG专题!

【PNG overview】PNG专题! 作者 鼯鼠 2007.1.22 转贴请注明出处 这段时间因为工作原因开始接触PNG,遇到问题的时候,在网上搜索资料总是零零碎碎,而且有很多的说法根没就是人云亦云,信手拈来,根本…

php imagejpeg函数,php imagepng()函数有什么用?

imagepng()是PHP中的一个内置函数,用于在浏览器或文件中显示图像。该函数的主要用途是在浏览器中查看图像,将任何其他图像类型转换为PNG,并对图像应用过滤器。 语法:bool imagepng( resource $image, int $to, int $quality, int …

image features extraction

目录 一.概述 二.图像的边缘特征及其检测方法 1.图像的边缘特征 2.梯度边缘检测 (1)原理 (2)Roberts算子 (3)Sobel算子 (4)Prewitt算子 3.二阶微分边缘检测 4.Marr边缘检测算…

Imagen 怎么工作的

原始英文链接: How Imagen Actually Works 字幕被输入到一个预训练和冻结的 Transformer 编码器中,该编码器输出一个向量序列(文本编码)。这些向量很重要,因为它们对标题中的单词如何相互关联进行编码,并充当模型所有…

image格式处理

图片三种访问方式: 1. 返回的是图片url字符串 src“http://xxxxx.jpg” 2. 返回的是图片类型的文件流 返回contentType的是image/png类型的,就new Blob对象,然后取blob对象中的url,图片上传组件选取本地图片能显示图片用的是该原理 3. 返回的…

如何制作9.png图片

什么是9.png图片: .9.PNG是安卓开发里面的一种特殊的图片,这种格式的图片通过ADT自带的编辑工具生成,使用九宫格切分的方法,使图片支持在android 环境下的自适应展示。 9.png图片如何优势: (1)允…

9.png图片的处理

1. PNG格式。 在这里不过多的讨论PNG格式的定义问题。但是.9.PNG确实是标准的PNG格式,只是在最外面一圈额外增加1px的边框,这个1px的边框就是用来定义图片中可扩展的和静态不变的区域。特别说明,left和top边框中交叉部分是可拉伸部分&#xf…

如何在线压缩png图片?png压缩图片大小的方法介绍

压缩PNG图片大小的优点 随着数字化时代的发展,PNG格式已成为一种常见的图片格式。然而,由于高分辨率、高色深等原因,PNG图片通常具有较大的文件体积,导致在传输、存储和网页加载等方面会产生不必要的负担。因此,对于需…

InternImage

终于有对抗Transformer 的了~~ 来自浦江实验室、清华等机构的研究人员提出了一种新的基于卷积的基础模型,称为 InternImage,与基于 Transformer 的网络不同,InternImage 以可变形卷积作为核心算子,使模型不仅具有检测和分割等下游…

图片<img>

图像标签演示源代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>图像标签</title> </…

拉伸图片的两种方法

在开发时&#xff0c;常常会遇到一个图片作为控件的image显示时&#xff0c;图片太小&#xff0c;此时图片被拉伸后,图片四周显示的并不是我们想要的结果&#xff0c;此时我们就需要对图片进行拉伸操作&#xff0c;有两种方法可以去拉伸图片&#xff0c; 一种是进入资产文件夹中…

css控制图片拉伸不变形,css+background实现 图片宽高自适应,拉伸裁剪不变形

图片宽高不固定 &#xff0c;一样实现自适应&#xff0c;拉伸裁剪不变形&#xff0c;适应各大兼容性。 下面咱们在网上找两张宽高不一样的照片&#xff1a; No.1 No.2 从上图看一个宽的一个窄的&#xff0c;很难做到自适应&#…

html背景图片 纵向拉伸,背景图片拉伸(CSS方法)_html/css_WEB-ITnose

在布局现在的网站首页的时候&#xff0c;发现一个问题。我使用了一张1440*900的png图片作为背景图片。页面内的Div使用了较多的百分比自适应框体大小&#xff0c;原body元素的CSS如下 html { width: 100%; height: 100%;}body { background: url(../img/bg.png) no-repeat; mar…

ios图片局部拉伸

转载自http://justsee.iteye.com/blog/1973358 下面张图片&#xff0c;本来是设计来做按钮背景的&#xff1a; button.png&#xff0c;尺寸为&#xff1a;24x60 现在我们把它用作为按钮背景&#xff0c;按钮尺寸是150x50&#xff1a; C代码 // 得到view的尺寸 CGSize viewS…

Qt部分拉伸的背景图片

目录 引言代码实现 引言 QSS是Qt客户端开发中非常重要的一环&#xff0c;也是非常容易被忽略的一环。因为网上有太多的博文直接给出了相对美观的样式&#xff0c;导致多数人只是将样式表拷贝使用&#xff0c;而没有细究其中的语法。这也是我在面试时分辨Qt界面开发经验的重要标…

android 九宫格 拉伸,CAScale9ImageView(九宫格图片拉伸)

类说明 CAScale9ImageView是CrossApp提供的一种九宫格拉伸图片的解决方案,我们先来了解一下什么是九宫格图片拉伸。 在App的设计过程中,为了适配不同的手机分辨率,图片大小需要拉伸或者压缩,这样就出现了可以任意调整大小的拉伸样式。 CAScale9ImageView 属性(点击方法名可…

Android自适应拉伸图片

这篇文章是android开发人员的必备知识&#xff0c;内容摘选自网络&#xff0c;友我为大家整理和总结&#xff0c;不求完美&#xff0c;但是有用。 视频教程地址&#xff1a;http://player.youku.com/player.php/sid/XMTMwODc3Njc2/v.swf 1.背景自适应且不失真问题的存在 制作自…