97 lines
43 KiB
Java
97 lines
43 KiB
Java
package com.xiang.common.utils;
|
||
|
||
import javax.imageio.ImageIO;
|
||
import java.awt.*;
|
||
import java.awt.image.BufferedImage;
|
||
import java.io.ByteArrayInputStream;
|
||
import java.io.ByteArrayOutputStream;
|
||
import java.util.Base64;
|
||
|
||
/**
|
||
* Base64图片缩放工具类
|
||
*/
|
||
public class Base64ImageScaler {
|
||
/**
|
||
* 将Base64图片等比例缩小1倍(缩小到原来的50%)
|
||
* @param base64Image 原始Base64图片(支持带或不带data:image前缀)
|
||
* @return 缩放后的Base64图片(保持原格式)
|
||
*/
|
||
public static String scaleToHalf(String base64Image) {
|
||
try {
|
||
// 1. 解析Base64数据
|
||
String base64Data = base64Image;
|
||
String prefix = "";
|
||
|
||
if (base64Image.contains(",")) {
|
||
String[] parts = base64Image.split(",");
|
||
prefix = parts[0] + ",";
|
||
base64Data = parts[1];
|
||
}
|
||
|
||
// 2. Base64解码为字节数组
|
||
byte[] imageBytes = Base64.getDecoder().decode(base64Data);
|
||
|
||
// 3. 字节数组转BufferedImage
|
||
ByteArrayInputStream bis = new ByteArrayInputStream(imageBytes);
|
||
BufferedImage originalImage = ImageIO.read(bis);
|
||
|
||
// 4. 计算新尺寸(缩小一半)
|
||
int originalWidth = originalImage.getWidth();
|
||
int originalHeight = originalImage.getHeight();
|
||
int newWidth = originalWidth / 2;
|
||
int newHeight = originalHeight / 2;
|
||
|
||
// 5. 创建缩放后的图片
|
||
BufferedImage scaledImage = new BufferedImage(newWidth, newHeight, originalImage.getType());
|
||
Graphics2D g2d = scaledImage.createGraphics();
|
||
|
||
// 设置高质量缩放算法
|
||
g2d.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
|
||
g2d.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
|
||
|
||
// 绘制缩放后的图片
|
||
g2d.drawImage(originalImage, 0, 0, newWidth, newHeight, null);
|
||
g2d.dispose();
|
||
|
||
// 6. BufferedImage转字节数组
|
||
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||
String format = getImageFormat(originalImage);
|
||
ImageIO.write(scaledImage, format, baos);
|
||
byte[] scaledBytes = baos.toByteArray();
|
||
|
||
// 7. 字节数组转Base64
|
||
String scaledBase64 = Base64.getEncoder().encodeToString(scaledBytes);
|
||
|
||
// 8. 返回带前缀的Base64(如果原图有前缀则保留)
|
||
return prefix.isEmpty() ? scaledBase64 : prefix + scaledBase64;
|
||
|
||
} catch (Exception e) {
|
||
e.printStackTrace();
|
||
throw new RuntimeException("图片缩放失败: " + e.getMessage());
|
||
}
|
||
}
|
||
|
||
/**
|
||
* 获取图片格式
|
||
*/
|
||
private static String getImageFormat(BufferedImage image) {
|
||
// 简单判断,默认返回png
|
||
return "png";
|
||
}
|
||
|
||
/**
|
||
* 使用示例
|
||
*/
|
||
public static void main(String[] args) {
|
||
// 您的Base64图片
|
||
String yourBase64Image = "data:image/jpeg;base64,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";
|
||
|
||
// 调用方法缩小1倍
|
||
String scaledBase64 = scaleToHalf(yourBase64Image);
|
||
|
||
System.out.println("缩放完成!");
|
||
System.out.println("原始长度: " + yourBase64Image.length());
|
||
System.out.println("缩放后长度: " + scaledBase64.length());
|
||
System.out.println("缩放后的Base64: " + scaledBase64);
|
||
}
|
||
} |