`
lsh4894
  • 浏览: 103555 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java 给图片上水印

阅读更多
package com.able.demo;
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 javax.imageio.ImageIO;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
public class ImageUtils {
 /**
  * 给图片上水印
  * @param args
  */
 public ImageUtils() {
 } 
 /** 
 * 把图片印刷到图片上 
 * @param pressImg -- 水印文件 
 * @param targetImg -- 目标文件 
 * @param x 
 * @param y 
 */ 
 public final static void pressImage(String pressImg, String targetImg, int x, int y) { 
 try { 
 File _file = new File(targetImg); 
 Image src = ImageIO.read(_file); 
 int wideth = src.getWidth(null); 
 int height = src.getHeight(null); 
 BufferedImage image = new BufferedImage(wideth, height, 
 BufferedImage.TYPE_INT_RGB); 
 Graphics g = image.createGraphics(); 
 g.drawImage(src, 0, 0, wideth, height, null);
 // 水印文件 
 File _filebiao = new File(pressImg); 
 Image src_biao = ImageIO.read(_filebiao); 
 int wideth_biao = src_biao.getWidth(null); 
 int height_biao = src_biao.getHeight(null); 
 g.drawImage(src_biao, wideth - wideth_biao - x, height - height_biao -y, wideth_biao, 
 height_biao, null); 
 // / 
 g.dispose(); 
 FileOutputStream out = new FileOutputStream(targetImg); 
 JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); 
 encoder.encode(image); 
 out.close(); 
 System.out.println("水印图片生成成功!");
 } catch (Exception e) { 
 e.printStackTrace(); 
 } 
 }
 /** 
 * 打印文字水印图片 
 * @param pressText --文字 
 * @param targetImg -- 目标图片 
 * @param fontName -- 字体名 
 * @param fontStyle -- 字体样式 
 * @param color -- 字体颜色 
 * @param fontSize -- 字体大小 
 * @param x -- 偏移量 
 * @param y 
 */
 public static void pressText(String pressText, String targetImg, String fontName,int fontStyle, int color, int fontSize, int x, int y) { 
 try { 
 File _file = new File(targetImg); 
 Image src = ImageIO.read(_file); 
 int wideth = src.getWidth(null); 
 int height = src.getHeight(null); 
 BufferedImage image = new BufferedImage(wideth, height, 
 BufferedImage.TYPE_INT_RGB); 
 Graphics g = image.createGraphics(); 
 g.drawImage(src, 0, 0, wideth, height, null); 
 g.setColor(Color.RED); 
 g.setFont(new Font(fontName, fontStyle, fontSize));

 g.drawString(pressText, wideth - fontSize - x, height - fontSize/2 - y); 
 g.dispose(); 
 FileOutputStream out = new FileOutputStream(targetImg); 
 JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); 
 encoder.encode(image); 
 out.close(); 
 System.out.println("水印图片生成成功!");
 } catch (Exception e) { 
 System.out.println(e); 
 } 
 } 
 public static void main(String[] args) {
  pressImage("E:/shuiyin.bmp", "E:/mubiaotupian.jpg", 110, 120);
 }
}

 

1
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics