Class ImageScaler
java.lang.Object
io.leandev.appfuse.image.ImageScaler
圖片縮放工具類
提供多種縮放策略:
- scale - 縮放到指定尺寸(可放大或縮小)
- shrink - 只縮小不放大,避免圖片模糊
- scaleByWidth/Height - 依單一維度等比縮放
所有縮放操作都保持原圖長寬比
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic BufferedImagefill(BufferedImage bufferedImage, int width, int height) 縮放圖片到精確尺寸(可能變形,類似 CSS object-fit: fill)static BufferedImagescale(BufferedImage bufferedImage, int width, int height) 縮放圖片到指定範圍內(保持長寬比,類似 CSS object-fit: contain)static BufferedImagescale(BufferedImage bufferedImage, Length width, Length height) 縮放圖片到指定尺寸(使用預設 300 PPI)static BufferedImagescale(BufferedImage bufferedImage, Length width, Length height, int ppi) 縮放圖片到指定尺寸(支援物理單位)static BufferedImagescale(BufferedImage bufferedImage, Integer width, Integer height) 縮放圖片到指定範圍內(保持長寬比)static BufferedImagescaleByHeight(BufferedImage bufferedImage, int height) 依高度等比縮放圖片static BufferedImagescaleByHeight(BufferedImage bufferedImage, Length height) 依高度等比縮放圖片(使用預設 300 PPI)static BufferedImagescaleByHeight(BufferedImage bufferedImage, Length height, int ppi) 依高度等比縮放圖片(支援物理單位)static BufferedImagescaleByWidth(BufferedImage bufferedImage, int width) 依寬度等比縮放圖片static BufferedImagescaleByWidth(BufferedImage bufferedImage, Length width) 依寬度等比縮放圖片(使用預設 300 PPI)static BufferedImagescaleByWidth(BufferedImage bufferedImage, Length width, int ppi) 依寬度等比縮放圖片(支援物理單位)static BufferedImageshrink(BufferedImage bufferedImage, int width, int height) 縮小圖片到指定範圍內(只在需要時縮小)static BufferedImageshrink(BufferedImage bufferedImage, Integer width, Integer height) 縮小圖片到指定範圍內(只在需要時縮小)static BufferedImageshrinkByHeight(BufferedImage bufferedImage, int height) 依高度縮小圖片(只在需要時縮小)static BufferedImageshrinkByWidth(BufferedImage bufferedImage, int width) 依寬度縮小圖片(只在需要時縮小)
-
Constructor Details
-
ImageScaler
public ImageScaler()
-
-
Method Details
-
shrinkByWidth
依寬度縮小圖片(只在需要時縮小)- Parameters:
bufferedImage- 原始圖片width- 目標寬度- Returns:
- 縮小後的圖片,如果原圖寬度小於目標寬度則返回原圖
-
shrinkByHeight
依高度縮小圖片(只在需要時縮小)- Parameters:
bufferedImage- 原始圖片height- 目標高度- Returns:
- 縮小後的圖片,如果原圖高度小於目標高度則返回原圖
-
shrink
縮小圖片到指定範圍內(只在需要時縮小)- Parameters:
bufferedImage- 原始圖片width- 最大寬度(null 表示不限制)height- 最大高度(null 表示不限制)- Returns:
- 縮小後的圖片
-
shrink
縮小圖片到指定範圍內(只在需要時縮小)- Parameters:
bufferedImage- 原始圖片width- 最大寬度height- 最大高度- Returns:
- 縮小後的圖片,如果原圖在範圍內則返回原圖
-
scaleByWidth
依寬度等比縮放圖片- Parameters:
bufferedImage- 原始圖片width- 目標寬度- Returns:
- 縮放後的圖片
-
scaleByHeight
依高度等比縮放圖片- Parameters:
bufferedImage- 原始圖片height- 目標高度- Returns:
- 縮放後的圖片
-
scale
縮放圖片到指定範圍內(保持長寬比)- Parameters:
bufferedImage- 原始圖片width- 目標寬度(null 表示不限制)height- 目標高度(null 表示不限制)- Returns:
- 縮放後的圖片
-
scale
縮放圖片到指定範圍內(保持長寬比,類似 CSS object-fit: contain)
圖片會縮放至完全顯示在指定範圍內,可能不會填滿整個範圍
- Parameters:
bufferedImage- 原始圖片width- 目標寬度height- 目標高度- Returns:
- 縮放後的圖片
-
fill
縮放圖片到精確尺寸(可能變形,類似 CSS object-fit: fill)
圖片會拉伸或壓縮以完全填滿指定尺寸,不保持長寬比
- Parameters:
bufferedImage- 原始圖片width- 目標寬度height- 目標高度- Returns:
- 縮放後的圖片
-
scaleByWidth
依寬度等比縮放圖片(支援物理單位)- Parameters:
bufferedImage- 原始圖片width- 目標寬度ppi- 解析度- Returns:
- 縮放後的圖片
-
scaleByWidth
依寬度等比縮放圖片(使用預設 300 PPI)- Parameters:
bufferedImage- 原始圖片width- 目標寬度- Returns:
- 縮放後的圖片
-
scaleByHeight
依高度等比縮放圖片(支援物理單位)- Parameters:
bufferedImage- 原始圖片height- 目標高度ppi- 解析度- Returns:
- 縮放後的圖片
-
scaleByHeight
依高度等比縮放圖片(使用預設 300 PPI)- Parameters:
bufferedImage- 原始圖片height- 目標高度- Returns:
- 縮放後的圖片
-
scale
public static BufferedImage scale(BufferedImage bufferedImage, Length width, Length height, int ppi) 縮放圖片到指定尺寸(支援物理單位)- Parameters:
bufferedImage- 原始圖片width- 目標寬度height- 目標高度ppi- 解析度- Returns:
- 縮放後的圖片
-
scale
縮放圖片到指定尺寸(使用預設 300 PPI)- Parameters:
bufferedImage- 原始圖片width- 目標寬度height- 目標高度- Returns:
- 縮放後的圖片
-