Próbuję zmienić rozmiar buforowanego obrazu. Jestem w stanie go zapisać i wyświetlić na jframe bez problemów, ale nie mogę zmienić rozmiaru. Wszelkie wskazówki, w jaki sposób mogę to zmienić, aby pracować i pokazać obraz jako 200 * 200 Plik byłoby świetnieBuforowana wielkość obrazu
private void profPic(){
String path = factory.getString("bottle");
BufferedImage img = ImageIO.read(new File(path));
}
public static BufferedImage resize(BufferedImage img, int newW, int newH) {
int w = img.getWidth();
int h = img.getHeight();
BufferedImage dimg = new BufferedImage(newW, newH, img.getType());
Graphics2D g = dimg.createGraphics();
g.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
RenderingHints.VALUE_INTERPOLATION_BILINEAR);
g.drawImage(img, 0, 0, newW, newH, 0, 0, w, h, null);
g.dispose();
return dimg;
}
To nie kompiluje - getScaledInstance zwraca obraz nie BufferedImage. – I82Much
Przykład użyty został wyodrębniony z mojego przykładu roboczego, ale tak, to nie skompilowałoby się tak, jak jest. Zaktualizuję to teraz. – Ocracoke
Nadal nie jest to bezpieczne - na moim MacBooku, np. Dostaję wyjątek ClassCastException - nie jest to gwarantowana konwersja. – I82Much