cxImage依赖build-essential(编译工具链)、libpng-dev(PNG格式支持)、libjpeg-dev(JPEG格式支持)、libtiff-dev(TIFF格式支持)、libgif-dev(GIF格式支持)等库。在终端执行以下命令安装:
sudo apt update
sudo apt install build-essential libpng-dev libjpeg-dev libtiff-dev libgif-dev libwebp-dev
通过Git从cxImage的GitHub仓库克隆最新稳定版源码(以v1.0.0为例):
git clone https://github.com/cximage/cximage.git
cd cximage
使用CMake生成Makefile并编译安装:
mkdir build && cd build
cmake .. # 配置编译选项(默认安装到/usr/local)
make # 编译源码
sudo make install # 安装到系统目录
若需全局使用cxImage,需将库路径添加到环境变量。编辑~/.bashrc文件:
echo 'export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH' >> ~/.bashrc
echo 'export CPLUS_INCLUDE_PATH=/usr/local/include:$CPLUS_INCLUDE_PATH' >> ~/.bashrc
source ~/.bashrc # 使配置生效
创建测试程序test_cximage.cpp,内容如下:
#include <iostream>
#include "cximage.h"
int main() {
CxImage image;
if (image.Load("input.jpg", CXIMAGE_FORMAT_JPG)) {
std::cout << "Image loaded successfully!" << std::endl;
image.Save("output.png", CXIMAGE_FORMAT_PNG);
std::cout << "Image saved as output.png" << std::endl;
} else {
std::cerr << "Failed to load image." << std::endl;
return -1;
}
return 0;
}
编译并运行:
g++ -o test_cximage test_cximage.cpp -lcximage
./test_cximage
若输出“Image loaded successfully!”则表示安装成功。
在C++项目中引入cxImage主头文件:
#include "cximage.h"
使用CxImage类的Load和Save方法实现格式转换(如BMP转JPG):
CxImage image;
if (!image.Load("input.bmp", CXIMAGE_FORMAT_BMP)) {
std::cerr << "Failed to load BMP image." << std::endl;
return -1;
}
image.Save("output.jpg", CXIMAGE_FORMAT_JPG); // 保存为JPG格式
Resize方法将图像缩放至指定尺寸:image.Resize(800, 600); // 调整为800x600像素
Rotate方法顺时针旋转指定角度(如90度):image.Rotate(90); // 顺时针旋转90度
Crop方法截取指定区域(左上角坐标+宽高):image.Crop(100, 100, 300, 300); // 裁剪(100,100)到(300,300)的区域
image.GrayScale();image.GaussianBlur(3);(半径为3)image.EdgeDetect();通过Create方法创建空白图像(如800x600像素、24位真彩色):
CxImage newImage;
if (!newImage.Create(800, 600, 24, CXIMAGE_FORMAT_JPG)) {
std::cerr << "Failed to create new image." << std::endl;
return -1;
}
newImage.Save("new_image.jpg"); // 保存新图像
通过SetPixel方法修改指定位置的像素颜色(RGB格式):
image.SetPixel(10, 10, 255, 0, 0); // 将(10,10)位置设置为红色
libwebp),需安装对应开发包(sudo apt install libwebp-dev)。