|
发表于 2020-5-19 00:00:01
|
显示全部楼层
这里有个截图的代码,你可以参考它把图输出,不过这里生成的是jpg
public static void drawImg() {
try {
int w = 0, h = 0, o_w = 0, o_h = 0, l = 0, t = 0;
//w-目标图像宽,h-目标图像高,o_w-待裁剪的图像宽,o_h-待裁剪的图像高,l-剪切部分距离待裁图像左边距,t-剪切部分距离待裁图像上边距
BufferedImage image = new BufferedImage(w, h,
BufferedImage.TYPE_INT_RGB);
Graphics g = image.getGraphics();
Image img = Toolkit.getDefaultToolkit().getImage("c:\\test.jpg");//取到源图片
System.out.println("img-width=" + img.getWidth(null));
System.out.println("img-height=" + img.getHeight(null));
g.setColor(Color.white); //图片底色为白色
g.fillRect(0, 0, w, h); //先画一个白底矩形
g.drawImage(img, 0, 0, o_w, o_h, null);//先将图片定为当前放大缩小后的大小
g.dispose();
g.drawImage(img, 0, 0, w, h, l, t, (l + w), (h + t), Color.WHITE,
null);//裁剪
g.dispose();
FileOutputStream outfile = new FileOutputStream("d:\\test1.jpg");//输出图片
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(outfile);
encoder.encode(image);//输出图片
outfile.close();
} catch (Exception e) {
e.printStackTrace();
}
} |
|