首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java 在图片下载水印

2012-11-09 
java 在图片上载水印import java.awt.Colorimport java.awt.Fontimport java.awt.Graphicsimport java.

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);        }    } 

?

热点排行