【发布时间】:2014-02-03 17:03:56
【问题描述】:
我正在尝试将图像缩放到不同的宽度和高度。然后从缩放图像的像素创建一个像素阵列。问题是我得到一个错误。
java.lang.ClassCastException: sun.awt.image.ToolkitImage cannot be cast to java.awt.image.BufferedImage
我可以通过什么方式获得新尺寸图像的像素?
代码如下:
protected void scaleImage(int newWidth, int newHeight) {
try {
BufferedImage image = (BufferedImage) img.getScaledInstance(newWidth, newHeight, Image.SCALE_SMOOTH);
width = newWidth;
height = newHeight;
scaledWidth = newWidth;
scaledHeight = newHeight;
//re init the pixels
pixels = new int[scaledWidth * scaledHeight];
((BufferedImage) image).getRGB(0, 0, scaledWidth, scaledHeight, pixels, 0, scaledWidth);
} catch (Exception e) {
e.printStackTrace();
System.exit(0);
}
}
【问题讨论】:
标签: bufferedimage pixels