现将本人实践的动态图文结合javabeans的核心公布如下:
import java.io.*;
import java.util.*;
import java.awt.image.bufferedimage;
import java.awt.image;
import java.awt.image.affinetransformop;
import javax.imageio.imageio;
import java.awt.geom.affinetransform;
import java.awt.graphics2d;
import java.awt.color;
import java.awt.font;
…………..
//生成bufferedimage实例,这是不需要真正显示时经常使用的类
bufferedimage bi = imageio.read(f);
// 利用graphics2d的新特性.
graphics2d g2d = bi.creategraphics();
//定义字体(楷体或宋体等) 及其大小
font myfont=new font("\u5b8b\u4f53",font.plain,20);
g2d.setfont(myfont);
//字体颜色为黑
g2d.setcolor(color.black);
//需要写在图片上文字 注意:中文需要操作系统支持中文 如中文window,
// linux下要安装中文字库,并使jdk1.4支持这个中文
string strs="hello everyone 中 文";
//在离顶部 和左边各为20处 写入文字,该处使用了对中文处理的getbytes功能.
g2d.drawstring(new string(strs.getbytes("iso8859_1")),20,20);
//必须使用,表示完成
g2d.dispose();
try {
//使用imageio写入图片
imageio.write(bi, ext, thf);
//原来是使用com.sun.image.codec.jpeg.*的功能,如下.需要下载com.sun.image.codec.jpeg
// fileoutputstream out = new fileoutputstream(thf);
// jpegimageencoder encoder = jpegcodec.createjpegencoder(out);
// encoder.encode(bi);
// out.close();
}catch (exception ex) {
throw new exception(" imageio.write error in creatthum.: "+ex.getmessage());
}
只要jsp将相关参数通知这个bean,就会轻松产生自己的图文,下图我自己在linux上调试的结果,由于linux没有安装字库,所以下图中文不正常显示,不过该程序我在中文win2000下调试正常通过:
原文 http://www.jdon.com/idea/%b6%af%cc%ac%cd%bc%ce%c4%bd%e1%ba%cf.htm
