1
イメージを50×50ピクセルにリサイズしようとしています。イメージをデータベースに保存されたパスから取得します。画像を取得して表示するのに問題はありません。私はちょうど私が画像のサイズを変更しようとすると思っています。イメージをバッファリングされたイメージとして取得するか、アイコンのサイズを変更しようとしたときにはどうすればよいですか?ImageIconまたはバッファリングされたイメージのサイズを変更しますか?
while (rs.next()) {
i = 1;
imagePath = rs.getString("path");
System.out.println(imagePath + "\n");
System.out.println("TESTING - READING IMAGE");
System.out.println(i);
myImages[i] = ImageIO.read(new File(imagePath));
**resize(myImages[i]);**
imglab[i] = new JLabel(new ImageIcon(myImages[i]));
System.out.println(i);
imgPanel[i]= new JPanel();
imgPanel[i].add(imglab[i]);
loadcard.add(imgPanel[i], ""+i);
i++;
上記のコードは、画像を取得した後、イメージアイコン、JLabelのに代入されます。私は、以下のサイズ変更メソッドを使用して、バッファリングされたイメージのサイズを変更しようとしました。あなたは、私のために働いていない理由について、光を当てることができますか?何のエラーもなく、画像は元のサイズのままです。
public static BufferedImage resize(BufferedImage img) {
int w = img.getWidth();
int h = img.getHeight();
int newH = 50;
int newW = 50;
BufferedImage dimg = dimg = new BufferedImage(newW, newH, img.getType());
Graphics2D g = dimg.createGraphics();
System.out.println("Is this getting here at all " + dimg);
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;
}
申し訳ありませんが、私が間違っている場所で具体的になるかもしれませんか? – Peddler
私の更新された回答を参照してください... – DNA
鮮やかな、明確な答え。大変ありがとう@DNA – Peddler