西安网站建设-西安网站制作-专业西安网站制作公司-「力洋网络」

西安力洋网络
  • 西安网站建设
  • 西安网站制作
  • 西安网站建设
  • Java制作水印图片源码

  • 发布者:本站 发布时间:2010/10/30 8:57:16
  • Java制作水印图片源码

    以下为引用的内容:
    import java.awt.AlphaComposite;
    import java.awt.Color;
    import java.awt.Graphics2D;
    import java.awt.Image;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.FileOutputStream;
    import javax.swing.ImageIcon;
    import com.sun.image.codec.jpeg.JPEGCodec;
    import com.sun.image.codec.jpeg.JPEGEncodeParam;
    import com.sun.image.codec.jpeg.JPEGImageEncoder;
    /**
    * <style type="text/css">body{background:#C7EDCC;}</style>
    * 在图片上添加水印图片或水印文字
    * @param filePath 原始图片路径
    * @param watermarkPath 水印图片路径
    * @param watermarkX 水印位置:x
    * @param watermarkY 水印位置:y
    * @param watermarkAlpha 透明度
    * @return
    */
    public static boolean createMark(String filePath, String watermarkPath,int watermarkX, int watermarkY,float watermarkAlpha) {
    // 读取原图片
    ImageIcon imgIcon = new ImageIcon(filePath);
    Image theImg = imgIcon.getImage();
    // 读取标签图片
    ImageIcon waterIcon = new ImageIcon(watermarkPath);
    Image waterImg = waterIcon.getImage();

    int width = theImg.getWidth(null);
    int height = theImg.getHeight(null);

    // 创建一个和原图片同大小的新空白图片
    BufferedImage bimage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
    Graphics2D g = bimage.createGraphics();

    // bimage = g.getDeviceConfiguration().createCompatibleImage(width, height, Transparency.TRANSLUCENT);
    // g.dispose();
    // g = bimage.createGraphics();

    // 设置字体
    //Font font = new Font("SansSerif", Font.BOLD, 30);
    //g.setFont(font);
    // 设置前景色
    //g.setColor(Color.red);
    // 设置背景色
    g.setBackground(Color.white);
    // 画原图
    g.drawImage(theImg, 0, 0, null);

    //值从0f-1.0f
    g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, watermarkAlpha));
    // 画出水印图
    g.drawImage(waterImg,watermarkX,watermarkY, waterImg.getWidth(null), waterImg.getHeight(null), null);

    // 画字
    //g.drawString("制作水印", 50, 50);

    //透明度设置 结束
    g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER));

    g.dispose();
    FileOutputStream out = null;
    try {
    String newWaterFile = filePath.substring(0,filePath.lastIndexOf("."))+"_water."+filePath.substring(filePath.lastIndexOf(".")+1);
    out = new FileOutputStream(newWaterFile);
    JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
    JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bimage);
    param.setQuality(50f, true);
    encoder.encode(bimage, param);
    } catch (Exception e) {
    System.out.println("---生成失败---");
    return false;
    } finally {
    if (out != null) {
    try {
    out.close();
    out = null;
    } catch (Exception e) {
    }
    }
    }
    System.out.println("===站长家园:http://www.jz123..cn/ 生成成功===");
    return true;
    }
     

  • 返回列表
    相关阅读
    更多
    深度挖掘网站的商用价值,化繁为简的设计,为企业找到直接有效的解决方案
    +86 (029) 88765320
    +86 15829904657
    地址:西安市太华北路369号
    万达广场4#23F P.C:7100001
    985224206@qq.com
    在线咨询: 985224206
    互联网协会成员单位
    西安力洋之星网络技术有限公司 | 版权所有
    Copyright 2008-2020 Liyang.Inc All Rights Reserved.
    Liyang.Inc