Jpeglib开发笔记(二):JpegLib编译(ubutnu)和Demo

若该文为原创文章,转载请注明原文出处
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/103520523

长期持续带来更多项目与技术分享,咨询请加QQ:21497936、微信:yangsir198808

红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…(点击传送门)

Qt开发专栏:三方库开发技术(点击传送门)

上一篇:《Jpeglib开发笔记(一):JpegLib库介绍、windows编译和Demo

下一篇:敬请期待...

 

前言

前篇编译了windows上的,现编译ubuntu上的。

 

JpegLib下载地址

       https://www.ijg.org/

       点击对应文件即可下载,如下图:

(与windows下载的文件不同,windows是zip)

QQ群:1047134658(点击“文件”搜索“jpeg”,群内与博文同步更新)

 

JepgLib编译

步骤一:下载放到ubuntu编译文件件

步骤二:配置

./configure --prefix /home/yang/compile/jpeg/jpeg-9c/install

步骤三:make

步骤四:make install

 

Demo

解码测试运行成功,如下图:

在Qt项目中配置链接库的路径,添加环境变量LD_LIBRARY_PATH(不然会报错,找不到链接库),如下图:

测试代码

#include "JpegManager.h"
#include <QDebug>

JpegManager::JpegManager(QObject *parent)
    : QObject(parent)
{

}

void JpegManager::testDemo1(QString path)
{
    FILE *file;

    int width;
    int height;
    struct jpeg_decompress_struct jDecompressStruct;
    struct jpeg_error_mgr jErrorMgr;


    if ((file = fopen(path.toUtf8().data(), "rb")) == 0)
    {
      qDebug() << __FILE__ << __LINE__ << "Failed to open file:" << path;
      return;
    }

    // 初始化并申请解码器
    jDecompressStruct.err = jpeg_std_error(&jErrorMgr);
    jpeg_create_decompress(&jDecompressStruct);

    // 指定图片文件信息
    jpeg_stdio_src(&jDecompressStruct, file);

    // 读取头部信息
    jpeg_read_header(&jDecompressStruct, TRUE);

    // 开始解码
    jpeg_start_decompress(&jDecompressStruct);

    // 获取图片宽高
    width = jDecompressStruct.image_width;
    height = jDecompressStruct.image_height;

    qDebug() << __FILE__ << __LINE__ << "decompress file:" << path << width << "x" << height;
    printf("decompress file:%s, %d x %d\n", path.toUtf8().data(), width, height);

    // 释放解码器对象
    jpeg_destroy_decompress(&jDecompressStruct);

    fclose(file);
}

 

上一篇:《Jpeglib开发笔记(一):JpegLib库介绍、windows编译和Demo

下一篇:敬请期待...

 

若该文为原创文章,转载请注明原文出处
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/103520523

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长沙红胖子Qt(技术Q群4597637)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值