读书人

java 在图片下载水印

发布时间: 2012-11-09 10:18:48 作者: rapoo

java 在图片上载水印

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 final class ImageUtils {        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();            } 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);                // String s="www.143zh.com";                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();            } catch (Exception e) {                System.out.println(e);            }        }           public static void main(String[] args) {            pressImage("pressImg.jpg", "targetImg.jpg", 20, 20);        }    } 

?

读书人网 >编程

热点推荐