我正在使用java swing應用程序項目。我想在我的JPanel
中將圖像製作爲圖標,但是當我使用外部打印機打印圖像時,它似乎是低質量圖像。這裏是代碼如何在java swing中製作高質量的圖像圖標?
ImageIcon ii=new ImageIcon(scaleImage(90, 107, ImageIO.read(new File(f.getAbsolutePath()))));
image.setIcon(ii);
如何使這種方法以外的高品質圖像圖標?
我正在使用java swing應用程序項目。我想在我的JPanel
中將圖像製作爲圖標,但是當我使用外部打印機打印圖像時,它似乎是低質量圖像。這裏是代碼如何在java swing中製作高質量的圖像圖標?
ImageIcon ii=new ImageIcon(scaleImage(90, 107, ImageIO.read(new File(f.getAbsolutePath()))));
image.setIcon(ii);
如何使這種方法以外的高品質圖像圖標?
[是否只包含其他鏈接的答案真的是「好答案」? ](http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-links-elsewhere-really-good-answers) – Radiodef
如果您使用Icon
的縮小版圖像,打印圖標時無法補償分辨率損失。
而不是使用ImageIcon
的,你可以創建自己的圖標類(通過實現javax.swing.Icon
接口,它實際上很簡單),這使你的形象在更高的分辨率和更小的尺寸描繪它(但沒有質量損失,所以在打印時仍然可以看到更多細節)。 這可以通過在繪製圖像之前應用AffineTransform
/Scale或使用graphics.drawImage(x,y,width,height,imageObserver)
來完成。
閱讀有關圖片大小(即http://stackoverflow.com/questions/14115950/quality-of-image-after-resize-very-low-java) 。還要考慮以正確的大小發送準備好的圖像,而不要在應用程序內調整大小 – rebeliagamer
SCALE_SMOOTH方法可能對您有所幫助。 [Image.SCALE_SMOOTH](http://docs.oracle.com/javase/7/docs/api/java/awt/Image.html#SCALE_SMOOTH) – Prasad