若该文为原创文章,转载请注明原文出处
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/103520523
长期持续带来更多项目与技术分享,咨询请加QQ:21497936、微信:yangsir198808
红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…(点击传送门)
Qt开发专栏:三方库开发技术(点击传送门)
上一篇:《Jpeglib开发笔记(一):JpegLib库介绍、windows编译和Demo》
下一篇:敬请期待...
前言
前篇编译了windows上的,现编译ubuntu上的。
JpegLib下载地址
点击对应文件即可下载,如下图:

(与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

237

被折叠的 条评论
为什么被折叠?



