Java开发图片水印
2017-10-28 13:49
363 查看
下面向大家分享一下,Java开发图片水印。是一纯JavaSe写的一个简单的功能,面向新手。
原图(1.jpg):
源代码如下:
上面代码运行的效果如下图,图2(l-demo.jpg):
原图(1.jpg):
源代码如下:
package com.java.struts; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; 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; import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGImageEncoder; public class TmImageUtil2 { //封装 /* text:要打印在图片上的文字信息 sourceImg:水印的原图片 targetImg:水印的最终图片 fontName:水印的字体 fontStyle:字体样式 fontSize:字体大小 x:文字在图片上的x轴的位置 y:文字在图片上的y轴的位置 */ public static void pressText(String text,String sourceImg,String targetImg,String fontName,int fontStyle,int fontSize,int x ,int y)throws Exception{ //图片 File file = new File(sourceImg); //返回图片对象 Image image = ImageIO.read(file); // getHeight(null)和getWidth(null),获取图片的高度和宽度 int width = image.getWidth(null); int height = image.getHeight(null); // System.out.println(image.getHeight(null)+"====="+image.getWidth(null)); //利用图片缓冲流 BufferedImage bufferedImage = new BufferedImage(width,height,BufferedImage.TYPE_INT_BGR); //画布 Graphics g = bufferedImage.createGraphics(); //相当于一个画框 g.drawImage(image, 0, 0, width, height, null); g.setColor(Color.red); //字体是楷体,字体大小是14px g.setFont(new Font(fontName,fontStyle ,fontSize)); //解决了坐标x和y轴为0时,文字显示不全的问题 g.drawString(text,x,y+fontSize); g.dispose(); //合成图片 FileOutputStream outputStream = new FileOutputStream(targetImg); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(outputStream); encoder.encode(bufferedImage); //关闭流 outputStream.close(); } public static void main(String[] args) throws Exception{ //要打印在图片上的文字信息 String text = "我不是你,你呢?"; //水印的原图片 String sourceImg = "D:/图片/1.jpg"; //水印的最终图片 String targetImg = "D:/图片/l-demo.jpg"; //字体 String fontName = "楷体"; //水印的字体样式,如:Font.BOLD int fontStyle = Font.BOLD; //字体大小 int fontSize = 20; //文字在图片上的x轴的位置,文字坐标 int x = 0; //文字在图片上的y轴的位置 int y = 0; pressText(text,sourceImg,targetImg,fontName,fontStyle,fontSize,x,y); } }
上面代码运行的效果如下图,图2(l-demo.jpg):
相关文章推荐
- JAVA实用案例之图片水印开发
- java开发图片水印
- JAVA图片水印开发案例详解
- java常用开发工具类之 图片水印,文字水印,缩放,补白工具类
- JAVA实用案例之图片水印开发
- java实现给图片添加水印和文字
- 基于java的图片文件格式转换和线性缩放-Java基础-Java-编程开发
- JAVA 打印图片透明水印
- java实现给图片添加水印和文字
- 绝对经典Java开源工具Jimi处理图片大小及格式转换及打水印(源码)
- Java实现给图片添加水印
- JAVA制作水印效果,字体和图片,调节透明度,使用了JIMI的类库
- java图片处理 文字水印 图片水印 缩放 补白
- 用Java为图片添加水印的源代码
- 使用Java添加图片水印和文字水印
- java图片文字水印、图片水印、缩放、补白处理
- java程序向图片上加水印
- java给图片加水印,文字水印
- java-图片加水印,文字水印
- JAVA给图片上添加水印文字