博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1、图片水印 之 一
阅读量:7305 次
发布时间:2019-06-30

本文共 1846 字,大约阅读时间需要 6 分钟。

hot3.png

        这两天公司网站首页广告栏要定制图片水印,抽空研究下。

        代码如下

import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;import java.awt.Image;import java.awt.image.BufferedImage;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import javax.imageio.ImageIO;/** * 给图片添加水印 * 		font:字体样式 * 		color:颜色和透明度样式 * 		Image:图片 * 		Graphics2D:提供了对几何形状、坐标转换、颜色管理和文本布局更为复杂的控制 */public class WaterMarkUtils {	public static void main(String[] args) throws IOException {			Font font = new Font("微软雅黑", Font.BOLD, 50);                     //水印字体	        String srcImgPath="C:/Users/Admin/Desktop/src.jpg"; //源图片地址	        String tarImgPath="C:/Users/Admin/Desktop/des.jpg"; //待存储的地址	        String[] waterMarkContent={							//水印内容	        			"1、这里是图片水印的内容",	        			"2、这里是图片水印内容测试的第二个内容",	        			"3、这里是图片水印内容测试的第三个内容,内容比第二个要长",	        			"4、你以为第三张图片以后就就没了么?",	        			"5、还有,骚年不要着急,还有,"	        		}; 	       	        Color color=new Color(255,255,255,255);                               //水印图片色彩以及透明度	        new WaterMarkUtils().addWaterMark(srcImgPath, tarImgPath, waterMarkContent, color,font);	}			//添加水印	public void addWaterMark(String srcImgPath,String tarImgPath,String[] waterMarkContent,Color markContentColor,Font font) throws IOException{				//读取原图片信息		File srcImgFile=new File(srcImgPath);		Image srcImg = ImageIO.read(srcImgFile);//将文件转化为图片		int srcImgWidth = srcImg.getWidth(null);//获取图片的宽度和高度		int srcImgHeight = srcImg.getHeight(null);						//加水印		BufferedImage bufImg =	new BufferedImage(srcImgWidth, srcImgHeight, BufferedImage.TYPE_INT_RGB);		Graphics2D g = bufImg.createGraphics();		g.drawImage(srcImg, 0, 0, srcImgWidth, srcImgHeight, null);		g.setColor(markContentColor);		g.setFont(font);				//设置水印坐标		for(int i=0;i

 

效果图如下

 

以后用到的情况下,可以根据实际需要将  水印的坐标设置  和  字体样式 根据实际需求单独封装即可

转载于:https://my.oschina.net/u/3551274/blog/1334722

你可能感兴趣的文章
spirngBoot 常用注解
查看>>
NodeJS:将文件夹按照存放路径变成一个对应的JSON
查看>>
《从0开始学Elasticsearch》—集群健康和索引管理
查看>>
mac上安装virtualenvwrapper 找不到.bashrc怎么做
查看>>
input 的placeholder不显示如何解决
查看>>
swift-4简单的分支和三目的写法
查看>>
小葵花妈妈课堂开课了:《Runnable、Callable、Future、RunnableFuture、FutureTask 源码分析》...
查看>>
【译】在 React 组件中使用 Refs 指南
查看>>
redis映射
查看>>
Java程序员必须掌握的Spring依赖管理原理
查看>>
程序员才能看懂的动图
查看>>
关于HTTP几个请求头含义
查看>>
关于canvas中加载第三方字体问题
查看>>
基于 Zxing 封装的 Hndxing 扫码库
查看>>
Java设计模式-观察者模式
查看>>
《Miss Talk》第03期:对话学霸君吴凯
查看>>
用 node 实现 交互下载 腾讯视频
查看>>
[MySQL光速入门]029 数据库管理和维护
查看>>
Java基础知识(三)
查看>>
前端技术 | 从MV*到Flux
查看>>