VC6 下 libpng 库的编译与初步使用(2)

三、初步使用

1. 对 VC6 进行设置

库虽然已经编译完成了, 但是如果要使用, 我们还得将其加入到 VC6 的目录中, 让 VC6 在编译链接时能够找到这两个库。

菜单栏 -> 工具(Tools) -> 选项(Options) -> 目录选项卡(Directories)

在 include files 选项中, 将 libpng 和 zlib 库所在的文件夹加入其中(.h\.c源码文件所在的文件夹)。

在 library files 选项中, 将刚刚编译得到的 .lib 文件所在的文件夹加入其中。

VC6 下 libpng 库的编译与初步使用

完成后如上图所示, 当然, 如果你嫌lib路径中一次添加4个文件夹路径有点浪费, 那么你完全可以将那 4 个 .lib 文件放在一个文件夹下再添加进去, 或者直接复制到已有的 lib 路径文件夹下都行。

2. 将 .lib 文件添加到工程设置中

新建一个工程, 工程类型就选 Win32 Console Application 的空工程吧, 在工程设置(Projet Settings)中 ( 工作空间 -> 右键工程 -> 设置...(Settings...) 的 链接(Link) 选项卡中的 对象\库模块(Object\library modules) 中添加刚刚编译得到的 .lib 文件名称.

Win32 Debug 添加 zlibd.lib libpngd.lib , Win32 Release 模式添加 zlib.lib libpng.lib

如果你不想这样做, 也可以使用 #pragma comment(lib, "libpng.lib") 这个的命令来完成。

3. 使用 libpng 检测文件是否为 png 格式的图像

假设上面的步骤都已经完成后, 我们来写一段代码测试下 libpng 是否已经可用, 这段代码的作用是检查一个文件是否为 png 格式的图片:

#include <stdio.h>
    #include "png.h"        // libpng 库的一个重要头文件

int main()
    {
        int is_png;            //是否为png
        char cbHeader[8];    //文件头
        FILE *fp = fopen( "test.png", "rb" );

if( !fp )
        {
            puts( "文件打开错误!" );
            return 0;
        }

fread( cbHeader, 1, 8, fp );    //从文件中读取文件头

is_png = png_sig_cmp( cbHeader, 0, 8 );    //检测该文件头是否为 png 格式的图片

is_png == 0 ? puts( "是png" ) : puts( "不是png" );

return 0;
    }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/efb8f07b78f051b1a6cf4911ce591339.html