ewo*_*wok 7 java swing bufferedimage
我已经看过这个问题,但它似乎没有真正回答我的问题.我有一个图像文件,可能是任何分辨率.我需要以BufferedImage特定分辨率将该图像加载到对象中(例如,对于此示例,800x800).我知道Image类可以getScaledInstance()用来将图像缩放到一个新的大小,但我无法弄清楚如何将它恢复到一个新的大小BufferedImage.有没有一种简单的方法可以将缓冲图像缩放到特定大小?
注意 II不希望按特定因子缩放图像,我想拍摄图像并制作特定尺寸.
像这样的东西?:
/**
* Resizes an image using a Graphics2D object backed by a BufferedImage.
* @param srcImg - source image to scale
* @param w - desired width
* @param h - desired height
* @return - the new resized image
*/
private BufferedImage getScaledImage(Image srcImg, int w, int h){
BufferedImage resizedImg = new BufferedImage(w, h, BufferedImage.TRANSLUCENT);
Graphics2D g2 = resizedImg.createGraphics();
g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
g2.drawImage(srcImg, 0, 0, w, h, null);
g2.dispose();
return resizedImg;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11245 次 |
| 最近记录: |