ImageCombiner:輕量級圖片合成工具
Downcodes小編今天要為大家介紹一個簡單又實用的圖片合成工具-ImageCombiner。它沒有複雜的功能,專注於圖片拼合,提供簡潔的接口,只需幾行程式碼即可實現圖片合併(當然也可以用來合成浮水印)。
功能特性
ImageCombiner支援圖片和文字兩種素材,並提供了豐富的特性,足以滿足日常的圖片合成需求:
1. 素材類型:
圖片
文字
2. 素材操作:
定位
縮放
旋轉
圓角
透明度
顏色
字體
號碼
刪除線
居中繪製
文字自動換行
使用方法
ImageCombiner 使用起來非常簡單,主要類別只有一個,只需要建立一個ImageCombiner 對象,指定背景圖片和輸出格式,然後添加各種素材元素,並設定元素的位置、大小和效果(例如圓角、顏色、透明度等),最後呼叫combine() 方法即可。
程式碼範例:
`java
// 建立ImageCombiner 對象,指定背景圖片和輸出格式
ImageCombiner combiner = new ImageCombiner("background.jpg", ImageFormat.JPEG);
// 新增圖片素材
combiner.addImage("logo.png", 10, 10, 100, 100);
// 新增文字素材
combiner.addText("Hello World!", 200, 200, Color.RED, new Font("Arial", Font.BOLD, 24));
// 合成圖片
BufferedImage combinedImage = combiner.combine();
// 儲存圖片到本機
ImageIO.write(combinedImage, "jpg", new File("output.jpg"));
`
特點
輕量級: 專案不依賴任何框架,完全基於JDK 本身編寫,沒有多餘的功能,效能優異。
簡單易用: 簡潔的接口,幾行程式碼即可實現圖片合成。
功能豐富: 支援多種素材類型與操作,滿足日常圖片合成需求。
安裝
注意: 如果合成圖片包含文字,開發者和伺服器需要先安裝對應的字體,否則無法顯示文字。 ImageCombiner 預設使用的字體是「阿里巴巴普惠體」(位於font 目錄)。
安裝字型:
1. 將font 目錄下的字型檔案複製到系統字型目錄(不同作業系統目錄位置可能不同)。
2. 執行測試項目中的showFonts() 方法,列印系統可用字型列表,確認已安裝的字型是否生效。
依賴:
ImageCombiner 依賴Java ImageIO 函式庫。
使用方法:
1. 下載ImageCombiner 專案代碼。
2. 將項目加入您的工程。
3. 編寫程式碼,呼叫ImageCombiner 類別實現圖片合成功能。
範例程式碼
最簡單的例子:
`java
import com.freewayso.imagecombiner.ImageCombiner;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
// 建立ImageCombiner 對象,指定背景圖片和輸出格式
ImageCombiner combiner = new ImageCombiner("background.jpg", ImageIO.read(new File("background.jpg")).getType());
// 新增圖片素材
combiner.addImage("logo.png", 10, 10, 100, 100);
// 合成圖片
BufferedImage combinedImage = combiner.combine();
// 儲存圖片到本機
ImageIO.write(combinedImage, "jpg", new File("output.jpg"));
}
}
`
完整範例:
`java
import com.freewayso.imagecombiner.ImageCombiner;
import com.freewayso.imagecombiner.ImageCombiner.ImageFormat;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
// 建立ImageCombiner 對象,指定背景圖片和輸出格式
ImageCombiner combiner = new ImageCombiner("background.jpg", ImageFormat.JPEG);
// 新增圖片素材
combiner.addImage("logo.png", 10, 10, 100, 100)
.setRoundedCorners(20); // 設定圓角
// 新增文字素材
combiner.addText("Hello World!", 200, 200, Color.RED, new Font("Arial", Font.BOLD, 24))
.setTransparency(0.5f) // 設定透明度
.setAlign(ImageCombiner.TextAlign.CENTER); // 設定居中對齊
// 合成圖片
BufferedImage combinedImage = combiner.combine();
// 儲存圖片到本機
ImageIO.write(combinedImage, "jpg", new File("output.jpg"));
}
}
`
總結
ImageCombiner 是一個輕量、簡單易用、功能豐富的圖片合成工具,可以幫助您快速實現圖片拼合和浮水印合成等功能。
專案地址: https://github.com/freewayso/image-combiner
許可證: Apache-2.0 license