非常谢谢。我现在的具体情况是这样的,我生成了一个条码是一个BufferedImage,然后我将这个是用Graphics2D的drawImage(Image img, int x, int y, ImageObserver observer) 绘制到printable上,然后打印。发现打印出来的不清楚。但是直接存成图片还是很清楚
AA5279AA: 你是说绘制的时候图片的格式发生了改变吗?
//原子性,输入Image,尺寸大小,返回BufferedImage流 //输入想得到的尺寸,原图片的地址,名称,新图片的地址,名称,原图片是否删除 public BufferedImage getSuitImgOut(Image img,int sizeweight,int sizeheight){ int newWidth = sizeweight; int newHeight = sizeheight; BufferedImage tag = new BufferedImage(newWidth,newHeight, BufferedImage.TYPE_INT_RGB); tag.getGraphics().drawImage(img.getScaledInstance(newWidth, newHeight,Image.SCALE_SMOOTH), 0, 0, null); return tag; } 运行这段代码之后通常会比原来的图空间要小,但是不影响图片质量。 另外你的目的只是把图片展示到table么? 那样的话应该可以不用Graphics2D吧。 我不知道是不是你其他方法出了问题,我在如上方法使用Graphics2D时没有发现图片质量有下降,感觉会不会table的原因?
bmp的是
我这有一个图片压缩的程序,借鉴网上的方法改造的,愿意的话很乐意和你分享一下
非常谢谢。我现在的具体情况是这样的,我生成了一个条码是一个BufferedImage,然后我将这个是用Graphics2D的drawImage(Image img, int x, int y, ImageObserver observer) 绘制到printable上,然后打印。发现打印出来的不清楚。但是直接存成图片还是很清楚
你是说绘制的时候图片的格式发生了改变吗?
//原子性,输入Image,尺寸大小,返回BufferedImage流
//输入想得到的尺寸,原图片的地址,名称,新图片的地址,名称,原图片是否删除
public BufferedImage getSuitImgOut(Image img,int sizeweight,int sizeheight){
int newWidth = sizeweight;
int newHeight = sizeheight;
BufferedImage tag = new BufferedImage(newWidth,newHeight, BufferedImage.TYPE_INT_RGB);
tag.getGraphics().drawImage(img.getScaledInstance(newWidth, newHeight,Image.SCALE_SMOOTH), 0, 0, null);
return tag;
}
运行这段代码之后通常会比原来的图空间要小,但是不影响图片质量。
另外你的目的只是把图片展示到table么?
那样的话应该可以不用Graphics2D吧。
我不知道是不是你其他方法出了问题,我在如上方法使用Graphics2D时没有发现图片质量有下降,感觉会不会table的原因?