在 Debian 中使用 CxImage,通常是指使用这个 C++ 图像处理库(CxImage)。下面从「安装 / 编译」「基本用法」「示例代码」几个方面说明。
CxImage 是一个 C++ 图像处理库,支持:
⚠️ 注意:
CxImage 官方并未提供 apt 安装包,在 Debian 上一般 源码编译使用。
sudo apt update
sudo apt install build-essential g++ make
sudo apt install libjpeg-dev libpng-dev libtiff-dev zlib1g-dev
git clone https://github.com/otya128/cximage.git
cd cximage
常见目录结构:
cximage/
├── CxImage/
├── jpeg/
├── png/
├── tiff/
├── zlib/
└── Makefile
make
生成:
libcximage.alibcximage.so(部分版本)sudo cp *.a /usr/local/lib/
sudo cp CxImage/*.h /usr/local/include/
#include <ximage.h>
#include <iostream>
int main() {
CxImage image;
// 加载 JPG
if (!image.Load("input.jpg", CXIMAGE_FORMAT_JPG)) {
std::cerr << "Load JPG failed" << std::endl;
return -1;
}
// 保存为 PNG
if (!image.Save("output.png", CXIMAGE_FORMAT_PNG)) {
std::cerr << "Save PNG failed" << std::endl;
return -1;
}
std::cout << "Convert success" << std::endl;
return 0;
}
g++ test.cpp -o test \
-I./CxImage \
-L. -lcximage \
-ljpeg -lpng -ltiff -lz
image.Resample(800, 600);
image.Rotate(90);
int w = image.GetWidth();
int h = image.GetHeight();
确认:
-I/path/to/CxImage
通常是顺序问题:
-lcximage -ljpeg -lpng -ltiff -lz
老代码可加:
-std=c++98
如果你 不是必须用 CxImage,Debian 上更推荐:
如果你愿意,可以告诉我:
我可以给你更精确的用法或封装示例。