Class WatermarkService

java.lang.Object
com.bytedesk.core.upload.watermark.WatermarkService

@Service @ConditionalOnProperty(name="bytedesk.watermark.enabled", havingValue="true", matchIfMissing=false) public class WatermarkService extends Object
图片水印服务
  • Field Details

    • DEFAULT_FONT_NAME

      private static final String DEFAULT_FONT_NAME
      默认水印字体
      See Also:
    • DEFAULT_FONT_SIZE

      private static final int DEFAULT_FONT_SIZE
      默认水印字体大小
      See Also:
    • DEFAULT_WATERMARK_COLOR

      private static final Color DEFAULT_WATERMARK_COLOR
      默认水印颜色
  • Constructor Details

    • WatermarkService

      public WatermarkService()
  • Method Details

    • addTextWatermark

      public byte[] addTextWatermark(BufferedImage originalImage, String watermarkText, WatermarkService.WatermarkPosition position)
      给图片添加文字水印
      Parameters:
      originalImage - 原始图片
      watermarkText - 水印文字
      position - 水印位置
      Returns:
      添加水印后的图片字节数组
    • addTextWatermark

      public byte[] addTextWatermark(BufferedImage originalImage, String watermarkText, WatermarkService.WatermarkPosition position, int fontSize, Color color)
      给图片添加文字水印
      Parameters:
      originalImage - 原始图片
      watermarkText - 水印文字
      position - 水印位置
      fontSize - 字体大小
      color - 水印颜色
      Returns:
      添加水印后的图片字节数组
    • addImageWatermark

      public byte[] addImageWatermark(BufferedImage originalImage, BufferedImage watermarkImage, WatermarkService.WatermarkPosition position, float opacity)
      给图片添加图片水印
      Parameters:
      originalImage - 原始图片
      watermarkImage - 水印图片
      position - 水印位置
      opacity - 透明度 (0.0-1.0)
      Returns:
      添加水印后的图片字节数组
    • addTextWatermarkToFile

      public boolean addTextWatermarkToFile(org.springframework.web.multipart.MultipartFile file, Path destinationPath, String watermarkText, WatermarkService.WatermarkPosition position)
      给MultipartFile添加文字水印并保存到指定路径
      Parameters:
      file - 原始文件
      destinationPath - 目标路径
      watermarkText - 水印文字
      position - 水印位置
      Returns:
      是否成功
    • isImageFile

      public boolean isImageFile(org.springframework.web.multipart.MultipartFile file)
      检查文件是否为图片
      Parameters:
      file - 文件
      Returns:
      是否为图片