这里提供一个如题的例子,利用byte[]生成指定宽高的image,其中byte[]的获取不是重点。
package org.tempuri;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.InputStream;
import javax.imageio.ImageIO;
public class Test {
public static void main(String[] args)throws Exception {
//这里通过webservice客户端获取byte
BarcodeServiceSoapProxy proxy = new BarcodeServiceSoapProxy();
byte[] imageByte = proxy.getBarCode("GB0626-2005^103223423^**公司^通知^通知[2014]001^成^关于推广办公自动化的通知^秘密10年^急件^20140226^公开发布^信息^20140226^测试^|");
InputStream buffin = new ByteArrayInputStream(imageByte);
//源image
BufferedImage image = ImageIO.read(buffin);
//目标iamge
BufferedImage resizedImage = new BufferedImage(188, 48, BufferedImage.TYPE_INT_RGB);
Graphics2D g = resizedImage.createGraphics();
g.drawImage(image, 0, 0, 188, 48, null);
g.dispose();
ImageIO.write(resizedImage, "png", new File("D:/188_48.png"));
}
}