给图片加水印

简介:

在51cto写博文上传图片的时候,觉得图片上加上水印很有意思,与是有了自己动手写一个加水印的小程序,自己动手丰衣足食。来看看我写的代码吧,哈哈


 
 
  1. package com.sucre.blog;  
  2.  
  3. import java.awt.Color;  
  4. import java.awt.Font;  
  5. import java.awt.Graphics2D;  
  6. import java.awt.Image;  
  7. import java.awt.image.BufferedImage;  
  8. import java.io.FileOutputStream;  
  9.  
  10. import javax.swing.ImageIcon;  
  11.  
  12. import com.sun.image.codec.jpeg.JPEGCodec;  
  13. import com.sun.image.codec.jpeg.JPEGEncodeParam;  
  14. import com.sun.image.codec.jpeg.JPEGImageEncoder;  
  15. /**  
  16.  * 给图片加水印  
  17.  * @author sucre  
  18.  *  
  19.  */ 
  20. public class ProductWaterMark {  
  21.     public boolean createMark(String filePath, String markContent,  
  22.             Color markContentColor, float qualNum, String watermark) {  
  23.         ImageIcon imgIcon = new ImageIcon(filePath);  
  24.         Image theImg = imgIcon.getImage();  
  25.         int width = theImg.getWidth(null);  
  26.         int height = theImg.getHeight(null);  
  27.         BufferedImage bimage = new BufferedImage(width, height,  
  28.                 BufferedImage.TYPE_INT_RGB);  
  29.         Font font = new Font("新宋体", Font.PLAIN, 50);//这里控制图片上文字的大小  
  30.         Graphics2D g = bimage.createGraphics();  
  31.         g.setColor(markContentColor);  
  32.         g.setFont(font);  
  33.         g.setBackground(Color.white);  
  34.         g.drawImage(theImg, 00null);  
  35.         //添加水印的文字和设置水印文字出现的内容  
  36.         g.drawString(markContent, width - 800, height - 80);   
  37.         g.dispose();  
  38.         try {  
  39.             FileOutputStream out = new FileOutputStream(filePath);  
  40.             JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);  
  41.             JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bimage);  
  42.             param.setQuality(qualNum, true);  
  43.             encoder.encode(bimage, param);  
  44.             out.close();  
  45.         } catch (Exception e)  
  46.         {  
  47.             return false;  
  48.         }  
  49.         return true;  
  50.     }  
  51.  
  52.     public static void main(String arg[]) {  
  53.         ProductWaterMark wk = new ProductWaterMark();  
  54.         boolean successOrNot = wk.createMark("F:\\我的图片\\1.jpg","http://sucre.blog.51cto.com", Color.BLACK, 23f, "");  
  55.         System.out.println(successOrNot?"You are Success!":"You are Failure");  
  56.     }  
  57. }  

无水印的图

 

加水印后的图片

 

看到了吧,图片的最小方有一行大黑字,虽然没有博客系统加的好看,但是我觉得还行。



本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/416185,如需转载请自行联系原作者


相关文章
|
23天前
|
人工智能
图片生成很好用
图片展示了一张图表,图中通过不同的颜色和数据点展示了某项技术或产品在不同维度上的表现情况。标题“AI也很好用”表明该图表可能是在说明人工智能技术的实用性和效果。不过,由于缺少具体的数据和背景信息,无法提供更详细的解读。
图片生成很好用
|
29天前
图片的大小
【10月更文挑战第7天】
33 1
|
5月前
|
JavaScript 前端开发 安全
80 行 JS 代码实现页面添加水印:文字水印、多行文字水印、图片水印、文字&图片水印
80 行 JS 代码实现页面添加水印:文字水印、多行文字水印、图片水印、文字&图片水印 1. 信息标识: 水印可以用于标识文档的所有者、保密级别、状态或其他相关信息,帮助用户更好地理解文档内容的属性。 2. 版权保护: 在文档中添加水印可以帮助保护内容的版权,防止他人未经授权地复制、转载或篡改内容。 3. 安全保护: 对于敏感信息或机密文档,添加水印可以帮助防止信息泄露,提高文档的安全性。 4. 提升专业性: 在一些场景下,如商业报告、合同文件等,添加水印可以增加文档的专业性和正式性。 5. 防止截屏或拷贝: 在网页中添加水印可以防止用户通过截屏或复制粘贴等方式非法获取文档内容。
74 1
80 行 JS 代码实现页面添加水印:文字水印、多行文字水印、图片水印、文字&图片水印
|
6月前
|
存储 算法 C#
C# 生成指定图片的缩略图
C# 生成指定图片的缩略图
|
数据安全/隐私保护 计算机视觉
使用opencv给视频添加水印
使用opencv给视频添加水印
329 0
使用opencv给视频添加水印
|
编解码 数据安全/隐私保护 开发者
为视频添加水印 | 学习笔记
快速学习为视频添加水印
|
缓存 Java 数据安全/隐私保护
给图片加水印?这是我见过最简单的实现方式
大家好,我是指北君。 在项目中经常有需要在图片上添加水印的需求以及在某些场合下需要身份证图片,这时就可以对身份证上加水印防止被用于其他用途,java 在处理图片水印时不需要额外的第三方包,使用 BufferedImage 和 Graphics2D 就可以搞定
给图片加水印?这是我见过最简单的实现方式
|
安全 数据安全/隐私保护
|
缓存 Android开发
图片
●图片加载,缓存,处理 Picasso (一个强大的图片下载与缓存的库) Fresco (一个用于管理图像和他们使用的内存的库) Glide (一个图片加载和缓存的库,使用的App有:网易新闻) Picasso-transformations (...
1397 0