Ubuntu下cxImage使用教程
导读:Ubuntu 下 CxImage 使用教程 一 环境准备与安装 更新软件源并安装构建工具与图像依赖: sudo apt update sudo apt install -y build-essential cmake git libpn...
Ubuntu 下 CxImage 使用教程
一 环境准备与安装
- 更新软件源并安装构建工具与图像依赖:
- sudo apt update
- sudo apt install -y build-essential cmake git libpng-dev libjpeg-dev libtiff-dev libgif-dev
- 获取源码(任选其一):
- 官方镜像:git clone https://github.com/antaresware/cximage.git
- 社区镜像:git clone https://github.com/antaressoftware/cximage.git
- 编译与安装(推荐 CMake,库安装到系统目录,便于 pkg-config 使用):
- cd cximage & & mkdir build & & cd build
- cmake -DCMAKE_INSTALL_PREFIX=/usr/local …
- make -j$(nproc)
- sudo make install
- 验证安装:
- pkg-config --cflags --libs cximage
- 若提示找不到包,检查 /usr/local/lib/pkgconfig 是否在环境变量中,必要时执行:echo ‘/usr/local/lib’ | sudo tee /etc/ld.so.conf.d/cximage.conf & & sudo ldconfig
- 说明:
- 部分旧教程使用 Autotools 流程(aclocal/autoconf/configure/make),在新版本或新发行版上可能遇到兼容性问题,优先使用 CMake 流程。
二 第一个程序 加载缩放保存
- 示例代码(C++,将输入图像缩放至宽度 300 像素,高度按比例,并保存为 JPG):
// main.cpp
#include "ximage.h"
#include <
iostream>
int main(int argc, char* argv[]) {
if (argc != 3) {
std::cerr <
<
"Usage: " <
<
argv[0] <
<
" <
input>
<
output.jpg>
\n";
return 1;
}
CxImage image;
if (!image.Load(argv[1], CXIMAGE_FORMAT_JPG)) {
std::cerr <
<
"Failed to load: " <
<
argv[1] <
<
"\n";
return 1;
}
// 等比缩放:宽度固定为300,高度自动
if (!image.Resample(300, 0)) {
std::cerr <
<
"Failed to resample.\n";
return 1;
}
if (!image.Save(argv[2], CXIMAGE_FORMAT_JPG)) {
std::cerr <
<
"Failed to save: " <
<
argv[2] <
<
"\n";
return 1;
}
std::cout <
<
"Saved: " <
<
argv[2] <
<
"\n";
return 0;
}
- 编译与运行:
- g++ main.cpp -o demo $(pkg-config --cflags --libs cximage)
- ./demo input.jpg output.jpg
- 要点:
- 头文件为 ximage.h(部分教程写作 cximage.h,实际以源码为准)。
- 常用格式常量:CXIMAGE_FORMAT_JPG、CXIMAGE_FORMAT_PNG、CXIMAGE_FORMAT_BMP、CXIMAGE_FORMAT_TIF、CXIMAGE_FORMAT_GIF。
三 常见问题与排查
- 找不到头文件或链接失败:
- 确认头文件路径在包含路径中,链接时添加 -lcximage;使用 pkg-config 获取编译/链接参数。
- 运行时报找不到库(libcximage.so.*):
- 执行 sudo ldconfig 刷新缓存;或将 /usr/local/lib 加入 /etc/ld.so.conf.d/*.conf 并重新 ldconfig。
- 旧版源码在 Linux 上的编译问题:
- 若使用老版本(如 599c)遇到 TIFF 相关符号或头文件缺失,可按教程对 tif_xfile.cpp 做适配,或优先切换到支持 CMake 的新版本仓库。
- 依赖未安装导致功能受限或编译失败:
- 确保已安装 libpng-dev、libjpeg-dev、libtiff-dev、libgif-dev 等图像编解码库。
四 进阶用法与实用建议
- 常用操作示例:
- 格式转换:Load 后直接 Save 为目标格式(如 PNG/JPG/TIF/GIF)。
- 等比缩放:Resample(目标宽, 0) 或 Resample(0, 目标高)。
- 裁剪:Crop(x, y, w, h)。
- 旋转与翻转:Rotate90/180/270、FlipHorizontal/Vertical。
- 工程实践:
- 使用 CMake 管理依赖:find_package(PkgConfig REQUIRED) + pkg_check_modules(CXIMAGE REQUIRED cximage),target_link_libraries(your_app ${ CXIMAGE_LIBRARIES} )。
- 分发程序时,建议将程序与所需的 libcximage.so 一并打包,或在目标系统安装相同版本的 CxImage。
- 性能与稳定性:
- 尽量使用系统包管理器安装依赖,保持库版本一致;对大图处理可结合多线程或分块策略降低峰值内存占用。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu下cxImage使用教程
本文地址: https://pptw.com/jishu/764910.html
