首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Java > JAVA给图片上添加水印文字
【标  题】:JAVA给图片上添加水印文字
【关键字】:JAVA
【来  源】:http://blog.csdn.net/lip009/archive/2006/11/02/1362256.aspx

JAVA给图片上添加水印文字

import java.awt.*;
import java.awt.image.*;
import java.io.*;
import javax.swing.*;
import com.sun.image.codec.jpeg.*;
import java.text.AttributedString;
import java.awt.font.TextAttribute;
import java.text.AttributedCharacterIterator;


public class WaterMark {
   
/**
      * 给图片添加水印
     * 
@param filePath 需要添加水印的图片的路径
     * 
@param markContent 水印的文字
     * 
@param markContentColor 水印文字的颜色
     * 
@param qualNum 图片质量
     * 
@param fontType 字体
     * 
@param fontsize 字体大小
     * 
@return
     * 
@author zhongweihai newwei2001@yahoo.com.cn
     
*/

    
public boolean createMark(String filePath,String markContent,Color markContentColor,float qualNum,
                              String fontType,
int fontSize)
    
{
        ImageIcon imgIcon
=new ImageIcon(filePath);
        Image theImg 
=imgIcon.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();
        g.setColor(markContentColor);
        g.setBackground(Color.white);
        g.drawImage(theImg, 
00null );
        AttributedString ats 
= new AttributedString(markContent);
        Font f 
= new Font(fontType,Font.BOLD, fontSize);

        ats.addAttribute(TextAttribute.FONT, f, 
0,markContent.length() );
        AttributedCharacterIterator iter 
= ats.getIterator();

        g.drawString(iter,width
/5,height/5); //添加水印的文字和设置水印文字出现的内容
        g.dispose();

        
try{
        FileOutputStream out
=new FileOutputStream(filePath);
        JPEGImageEncoder encoder 
=JPEGCodec.createJPEGEncoder(out);
        JPEGEncodeParam param 
= encoder.getDefaultJPEGEncodeParam(bimage);
        param.setQuality(qualNum, 
true);
        encoder.encode(bimage, param);
        out.close();
        }
catch(Exception e)
        
return false; }
        
return true;
    }


    
public static void main(String[] args)
    
{
     WaterMark wm 
= new WaterMark();
     wm.createMark(
"c:\year2-11.jpg","此图片来自煞笔网",Color.red,70f,"黑体",23);
     }

}
 
数据库连接池实例:【上一篇】
J2EE集群开发部署实战:【下一篇】
【相关文章】
  • Java基础之二
  • Java网络加载协议(JNLP)及Java Web Start
  • 深入理解java数组
  • java多线程经典实例
  • 利用java录制音频文件
  • 如何设定执行Java的Linux安全环境
  • JAVA入门学习资料
  • JAVA生成缩略图
  • java验证码类
  • java生成jpg图片
  • 【随机文章】
  • 中文Excel 2000速成教程 1.9 制作员工工资图表
  • 多系统共存之你问我答
  • 基于VoIP的媒体采集/播放的设计考虑
  • 破解在线电影多种技巧
  • Linux;基本设置技巧
  • 轻松制作自己的信息反馈WEB页
  • Freehand 10 基本操作(3)
  • Expressions Calculate Program(公式计算程序)
  • 一个真实的FreeBSD进程的地址空间的探察分析
  • 自己写的个php分页类
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.