给图片增加水印
来源:互联网 发布:php磁力链接解析接口 编辑:程序博客网 时间:2024/06/05 18:04
import java.awt.AlphaComposite;import java.awt.Color;import java.awt.Font;import java.awt.FontMetrics;import java.awt.Graphics2D;import java.awt.RenderingHints;import java.awt.geom.AffineTransform;import java.awt.geom.Rectangle2D;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import java.io.InputStream;import javax.imageio.ImageIO;public class ImageUtils {public BufferedImage addWatermark(InputStream is) {BufferedImage image = null;BufferedImage bufferedImage = null;try {image = ImageIO.read(is);bufferedImage = new BufferedImage(image.getWidth(), image.getHeight(),BufferedImage.TYPE_INT_RGB); BufferedImage watermarkImage = getWatermarkImage(180,180); Graphics2D g2d = (Graphics2D)bufferedImage.getGraphics(); g2d.drawImage(image, 0, 0, null); g2d.drawImage(watermarkImage, null, null); g2d.dispose();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} return bufferedImage;}public BufferedImage getWatermarkImage(int width, int height){ BufferedImage watermarkImg = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); AlphaComposite alpha = AlphaComposite.getInstance(AlphaComposite.SRC_OVER,0.5f); Graphics2D g2d = (Graphics2D)watermarkImg.createGraphics(); g2d.setComposite(alpha); String waterMark = "SML - SAMPLE ONLY - "; g2d.setColor(Color.LIGHT_GRAY); g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); g2d.setFont(new Font("Arial", Font.BOLD, 18)); FontMetrics fontMetrics = g2d.getFontMetrics(); Rectangle2D rect = fontMetrics.getStringBounds(waterMark, g2d); int centerX = (width - (int) rect.getWidth()) / 2; int centerY = (height - (int) rect.getHeight()) / 2; int y = 10; //int width = watermarkImg.getHeight(); AffineTransform origXform = g2d.getTransform(); for (int i = 0; i < centerY; i = i + 30) { for (int x = 0; x < width; x++) { g2d.rotate(Math.toRadians(35), x, y); g2d.drawString(waterMark, x, y); g2d.setTransform(origXform); x += 125; } if (centerY > 1000) { y += 100; } else { y += 50; } } //Free graphic resources g2d.dispose(); return watermarkImg; }------------------------------------------------代码引用
ImageUtils iu = new ImageUtils();InputStream is = this.getImage(imageName);BufferedImage bi = iu.addWatermark(is);
0 0
- 给图片增加水印
- IOS给图片增加水印(图片、文字)
- Java 给图片增加 水印图片 水印文字 缩放图片
- Java 给图片增加 水印图片 水印文字
- 给上传的图片增加文字水印
- 如何给上传图片增加水印
- 给图片增加文字水印,并且验证图片
- 给上传图片增加缩微图和水印
- php 给图片增加背景平铺水印代码
- opencv 图片增加水印
- 用java实现给图片增加图片水印或者文字水印(也支持视频图像帧添加水印)
- 用java实现给图片增加图片水印或者文字水印(也支持视频图像帧添加水印)
- NET 用户控件 文件上传,并给图片文件加水印(增加文字水印文字设置)
- 给图片加上水印
- 给图片加上水印
- 给图片添加水印
- /给图片打水印
- 给图片添加水印
- poj-3286-How many 0's?
- 二叉树构建(一)
- 登陆密码加密
- 三句话影响人的一生
- Java IO
- 给图片增加水印
- 互联网时代的社会语言学:基于SNS的文本数据挖掘
- 2014新年计划
- Ubuntu9.10用apt-get配置apache+php+mysql
- Android中使用POI加载与显示word文档
- ios sqlite 锁表
- WordPress插件开发详细教程
- gromacs安装流程
- 行列转换