在Ubuntu中使用CxImage庫制作縮略圖,你需要遵循以下步驟:
安裝CxImage庫:
編寫代碼:
thumbnail_generator.cpp
。下面是一個簡單的示例代碼,展示了如何使用CxImage生成縮略圖:
#include "CxImage.h"
#include <iostream>
int main() {
// 加載原始圖像
CxImage image;
if (!image.Load("path_to_your_image.jpg")) {
std::cerr << "Error loading image!" << std::endl;
return -1;
}
// 設置縮略圖的最大寬度和高度
int maxWidth = 100;
int maxHeight = 100;
// 計算縮略圖的尺寸
int srcWidth = image.GetWidth();
int srcHeight = image.GetHeight();
float ratio = std::min(static_cast<float>(maxWidth) / srcWidth, static_cast<float>(maxHeight) / srcHeight);
int thumbnailWidth = static_cast<int>(srcWidth * ratio);
int thumbnailHeight = static_cast<int>(srcHeight * ratio);
// 創建縮略圖
CxImage thumbnail;
thumbnail.Create(thumbnailWidth, thumbnailHeight, 24); // 24位顏色深度
thumbnail.SetStretchBilinear(); // 使用雙線性插值縮放
thumbnail.Draw(image, 0, 0, thumbnailWidth, thumbnailHeight);
// 保存縮略圖
if (!thumbnail.Save("thumbnail.jpg")) {
std::cerr << "Error saving thumbnail!" << std::endl;
return -1;
}
std::cout << "Thumbnail created successfully!" << std::endl;
return 0;
}
g++ -o thumbnail_generator thumbnail_generator.cpp -LCxImage -ljpeg -lpng
./thumbnail_generator
請注意,上述代碼示例假設你已經正確安裝了CxImage庫,并且你的系統上安裝了libjpeg和libpng庫。如果你的系統環境不同,你可能需要調整編譯命令以匹配你的庫安裝位置和名稱。
如果你在安裝或編譯過程中遇到任何問題,你可能需要查看CxImage的文檔或尋求社區支持以獲取幫助。