Java 图片追加图片或者文字等

关于jpeg格式的图片追加图片或者文字等的简单例子

这里以JPEG为例子,因为sun的jdk里面有jpeg的编码,而对于gif/89gif,png等格式需要自己写编码程序,暂时先不介绍。

基本原理都是一样的, 首先把目标图片读到缓存里面构成一个缓存图片,然后获得这个图片的Graphics,有了Graphics 你想画啥就画啥啊,然后编码输出就可以了啊。

以下是简单的代码。
//目标文件

File input = new File("D:/cnjbb_banner.jpg");
String output = "D:/photo/jpeg/";
try
{
InputStream imageStream= new FileInputStream(input);
JPEGImageDecoder decoderFile= JPEGCodec.createJPEGDecoder(imageStream);
BufferedImage imageFile= decoderFile.decodeAsBufferedImage();
Graphics g= imageFile.getGraphics();
g.setColor(Color.WHITE);
g.setFont(new Font("Arial", Font.BOLD + Font.ITALIC, 22));
g.drawString("www.CnJBB.Org", 10, 20);
FileOutputStream jpgFile= new FileOutputStream(output+input.getName());
JPEGImageEncoderImpl jpeg= new JPEGImageEncoderImpl(jpgFile);
jpeg.encode(imageFile);
jpgFile.close();
imageStream.close();
}catch (Exception e)
{}

如果要追加一个小图片应该调用Graphics.drawImage();当然你想把图标放到什么位置,你要判断 目标图片的宽,高,和你图标的宽高。

gif的稍微复杂一些,因为除了编码外,gif还可能是动画,动画有针的概念,帧之间还有时间的间隔,这个以后介绍.

分享到: 更多