Class ImageWriter
java.lang.Object
io.leandev.appfuse.image.ImageWriter
- All Implemented Interfaces:
AutoCloseable
圖片寫入工具
提供多種輸出格式:
- OutputStream - 寫入檔案或網路串流
- byte[] - 記憶體中的位元組陣列
- Data URL - Base64 編碼的 HTML 圖片 URL
使用範例
// 寫入檔案
try (ImageWriter writer = new ImageWriter(outputStream)) {
writer.write(bufferedImage, "png");
}
// 轉換為 byte[]
byte[] imageData = ImageWriter.writeBufferedImage(bufferedImage, "jpg");
// 產生 Data URL (用於 HTML)
String dataUrl = ImageWriter.encodeBufferedImageToDataUrl(bufferedImage);
// 結果: "data:image/png;base64,iVBORw0KG..."
支援格式
常見格式:png, jpg, jpeg, gif, bmp, wbmp
格式支援取決於 Java ImageIO 的註冊編碼器
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()關閉輸出串流static StringencodeBufferedImageToDataUrl(BufferedImage bufferedImage) 將圖片編碼為 HTML Data URL(預設 PNG 格式)static StringencodeBufferedImageToDataUrl(BufferedImage bufferedImage, String format) 將圖片編碼為 HTML Data URL(指定格式字串)static StringencodeBufferedImageToDataUrl(BufferedImage bufferedImage, org.springframework.http.MediaType mediaType) 將圖片編碼為 HTML Data URL(指定 MediaType)booleanwrite(BufferedImage image) 寫入圖片(預設 PNG 格式)booleanwrite(BufferedImage image, String format) 寫入圖片(指定格式字串)booleanwrite(BufferedImage image, org.springframework.http.MediaType mediaType) 寫入圖片(指定 MediaType)static byte[]writeBufferedImage(BufferedImage bufferedImage) 將圖片轉換為 byte 陣列(預設 PNG 格式)static byte[]writeBufferedImage(BufferedImage bufferedImage, String format) 將圖片轉換為 byte 陣列(指定格式字串)static byte[]writeBufferedImage(BufferedImage bufferedImage, org.springframework.http.MediaType mediaType) 將圖片轉換為 byte 陣列(指定 MediaType)static booleanwriteBufferedImage(OutputStream output, BufferedImage bufferedImage) 寫入圖片到 OutputStream(預設 PNG 格式)static booleanwriteBufferedImage(OutputStream output, BufferedImage bufferedImage, String format) 寫入圖片到 OutputStream(指定格式字串)static booleanwriteBufferedImage(OutputStream output, BufferedImage bufferedImage, org.springframework.http.MediaType mediaType) 寫入圖片到 OutputStream(指定 MediaType)
-
Constructor Details
-
ImageWriter
-
-
Method Details
-
writeBufferedImage
public static boolean writeBufferedImage(OutputStream output, BufferedImage bufferedImage) throws IOException 寫入圖片到 OutputStream(預設 PNG 格式)- Parameters:
output- 輸出串流bufferedImage- 圖片物件- Returns:
- 是否成功寫入
- Throws:
IOException- 寫入失敗時拋出
-
writeBufferedImage
public static boolean writeBufferedImage(OutputStream output, BufferedImage bufferedImage, org.springframework.http.MediaType mediaType) throws IOException 寫入圖片到 OutputStream(指定 MediaType)- Parameters:
output- 輸出串流bufferedImage- 圖片物件mediaType- 圖片格式(例如 MediaType.IMAGE_PNG)- Returns:
- 是否成功寫入
- Throws:
IOException- 寫入失敗時拋出
-
writeBufferedImage
public static boolean writeBufferedImage(OutputStream output, BufferedImage bufferedImage, String format) throws IOException 寫入圖片到 OutputStream(指定格式字串)- Parameters:
output- 輸出串流bufferedImage- 圖片物件format- 圖片格式(例如 "png", "jpg")- Returns:
- 是否成功寫入
- Throws:
IOException- 寫入失敗時拋出
-
writeBufferedImage
將圖片轉換為 byte 陣列(預設 PNG 格式)- Parameters:
bufferedImage- 圖片物件- Returns:
- 圖片的位元組陣列
- Throws:
IOException- 轉換失敗時拋出
-
writeBufferedImage
public static byte[] writeBufferedImage(BufferedImage bufferedImage, org.springframework.http.MediaType mediaType) throws IOException 將圖片轉換為 byte 陣列(指定 MediaType)- Parameters:
bufferedImage- 圖片物件mediaType- 圖片格式- Returns:
- 圖片的位元組陣列
- Throws:
IOException- 轉換失敗時拋出
-
writeBufferedImage
public static byte[] writeBufferedImage(BufferedImage bufferedImage, String format) throws IOException 將圖片轉換為 byte 陣列(指定格式字串)- Parameters:
bufferedImage- 圖片物件format- 圖片格式(例如 "png", "jpg")- Returns:
- 圖片的位元組陣列
- Throws:
IOException- 轉換失敗時拋出
-
encodeBufferedImageToDataUrl
將圖片編碼為 HTML Data URL(預設 PNG 格式)
產生格式:data:image/png;base64,iVBORw0KG...
可直接用於 HTML img 標籤或 CSS background-image
- Parameters:
bufferedImage- 圖片物件- Returns:
- Base64 編碼的 Data URL
- Throws:
IOException- 編碼失敗時拋出
-
encodeBufferedImageToDataUrl
public static String encodeBufferedImageToDataUrl(BufferedImage bufferedImage, org.springframework.http.MediaType mediaType) throws IOException 將圖片編碼為 HTML Data URL(指定 MediaType)- Parameters:
bufferedImage- 圖片物件mediaType- 圖片格式- Returns:
- Base64 編碼的 Data URL
- Throws:
IOException- 編碼失敗時拋出
-
encodeBufferedImageToDataUrl
public static String encodeBufferedImageToDataUrl(BufferedImage bufferedImage, String format) throws IOException 將圖片編碼為 HTML Data URL(指定格式字串)- Parameters:
bufferedImage- 圖片物件format- 圖片格式(例如 "png", "jpg")- Returns:
- Base64 編碼的 Data URL
- Throws:
IOException- 編碼失敗時拋出
-
write
寫入圖片(預設 PNG 格式)- Parameters:
image- 圖片物件- Returns:
- 是否成功寫入
- Throws:
IOException- 寫入失敗時拋出
-
write
public boolean write(BufferedImage image, org.springframework.http.MediaType mediaType) throws IOException 寫入圖片(指定 MediaType)- Parameters:
image- 圖片物件mediaType- 圖片格式- Returns:
- 是否成功寫入
- Throws:
IOException- 寫入失敗時拋出
-
write
寫入圖片(指定格式字串)- Parameters:
image- 圖片物件format- 圖片格式(例如 "png", "jpg")- Returns:
- 是否成功寫入
- Throws:
IOException- 寫入失敗時拋出
-
close
關閉輸出串流- Specified by:
closein interfaceAutoCloseable- Throws:
IOException- 關閉失敗時拋出
-