Ubuntu下CxImage的使用指南
在編譯和安裝CxImage前,需確保系統具備必要的編譯工具和依賴庫。打開終端,執行以下命令:
sudo apt update
sudo apt install build-essential libpng-dev libjpeg-dev libtiff-dev libgif-dev
上述命令安裝了GCC編譯器、CMake構建工具,以及PNG、JPEG、TIFF、GIF等圖像格式的支持庫。
從CxImage的GitHub倉庫克隆最新源碼(建議使用main分支):
git clone https://github.com/cximage/cximage.git
cd cximage
使用CMake生成Makefile并進行編譯安裝:
mkdir build
cd build
cmake .. # 生成Makefile
make # 編譯源碼
sudo make install # 安裝到系統目錄(默認路徑:/usr/local/include、/usr/local/lib)
為避免編譯時找不到頭文件或庫文件,可將CxImage的路徑添加到環境變量中。編輯~/.bashrc文件:
echo 'export CPLUS_INCLUDE_PATH=/usr/local/include:$CPLUS_INCLUDE_PATH' >> ~/.bashrc
echo 'export LIBRARY_PATH=/usr/local/lib:$LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc # 使配置立即生效
創建一個C++測試程序(如test_cximage.cpp),驗證圖像加載與保存功能:
#include <iostream>
#include "cximage.h"
int main() {
CXImage image;
// 加載圖像(替換為你的圖像路徑,支持JPG、PNG、BMP等格式)
if (!image.Load("input.jpg")) {
std::cerr << "Failed to load image!" << std::endl;
return 1;
}
std::cout << "Image loaded successfully: " << image.GetWidth() << "x" << image.GetHeight() << std::endl;
// 保存為其他格式(如PNG)
if (!image.Save("output.png", CXIMAGE_FORMAT_PNG)) {
std::cerr << "Failed to save image!" << std::endl;
return 1;
}
std::cout << "Image saved as output.png" << std::endl;
return 0;
}
編譯并運行程序:
g++ test_cximage.cpp -o test_cximage -lcximage
./test_cximage
若終端輸出“Image loaded successfully”和“Image saved as output.png”,則說明CxImage安裝成功。
使用CxImage將JPG轉換為PNG:
CXImage image;
if (image.Load("input.jpg")) {
image.Save("output.png", CXIMAGE_FORMAT_PNG);
}
CXImage image;
if (image.Load("test.bmp")) {
std::cout << "Format: " << image.GetFormatName() << std::endl;
std::cout << "Width: " << image.GetWidth() << ", Height: " << image.GetHeight() << std::endl;
}
在圖像上繪制一個紅色像素點:
CXImage image;
if (image.Load("input.png")) {
image.SetPixel(10, 10, 255, 0, 0); // (x, y, R, G, B)
image.Save("output_with_pixel.png", CXIMAGE_FORMAT_PNG);
}
/usr/local/lib是否在LIBRARY_PATH中,或手動指定庫路徑:g++ test_cximage.cpp -o test_cximage -I/usr/local/include -L/usr/local/lib -lcximage