| File was renamed from src/main/java/com/dji/sample/territory/utils/WaterMark.java |
| | |
| | | import java.awt.*; |
| | | import java.awt.geom.AffineTransform; |
| | | import java.awt.image.BufferedImage; |
| | | import java.io.ByteArrayInputStream; |
| | | import java.io.ByteArrayOutputStream; |
| | | import java.io.File; |
| | | import java.io.IOException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.LocalDateTime; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.Date; |
| | | |
| | | import static com.dji.sample.territory.utils.ImgZipUtil.compressImageAndGetFile; |
| | | |
| | | public class WaterMark { |
| | | public class WaterMarkUtil { |
| | | /** |
| | | * 将图片加上水印并压缩 |
| | | * |
| | |
| | | try { |
| | | originalImage = ImageIO.read(originalImageFile); |
| | | } catch (IOException e) { |
| | | throw new IllegalArgumentException("读取图片失败"+e.getMessage()); |
| | | throw new IllegalArgumentException("读取图片失败" + e.getMessage()); |
| | | } |
| | | |
| | | // 创建 Graphics2D 对象以在图像上绘制水印 |
| | |
| | | // 释放 Graphics2D 对象 |
| | | g2d.dispose(); |
| | | // 保存添加水印后的图片 |
| | | File outputFile = new File(path + "mark.jpg"); |
| | | File outputFile = File.createTempFile("mark", ".jpg"); |
| | | File originalImageFiles = new File(outputFile.toURI()); |
| | | float compressionQuality = 0.5f; // 0.0 - 1.0, higher value means better quality |
| | | File compressedImageFile = compressImageAndGetFile(originalImageFiles, compressionQuality); |
| | | try { |
| | | ImageIO.write(originalImage, "jpg", outputFile); |
| | | } catch (IOException e) { |
| | | throw new IllegalArgumentException("水印图片保存失败"); |
| | | } |
| | | float compressionQuality = 0.5f; // 0.0 - 1.0, higher value means better quality |
| | | File compressedImageFile = compressImageAndGetFile(originalImageFiles, compressionQuality); |
| | | return compressedImageFile; |
| | | } |
| | | |