5

パネルに表示している.jpgがいくつかあります。残念ながら、それらはすべて約1500x1125ピクセルであり、これは私が目指しているものには大きすぎます。これらの.jpgの解像度を変更するプログラム的な方法はありますか?

4

3 に答える 3

5

Graphics2D(from)のメソッドを使用して画像を拡大縮小できますjava.awtmkyong.comのこのチュートリアルでは、詳細に説明しています。

于 2012-07-19T15:00:15.990 に答える
3

それをImageIconとしてロードすると、これでうまくいきます。

import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import javax.swing.ImageIcon;

public static ImageIcon resizeImageIcon( ImageIcon imageIcon , Integer width , Integer height )
{
    BufferedImage bufferedImage = new BufferedImage( width , height , BufferedImage.TRANSLUCENT );

    Graphics2D graphics2D = bufferedImage.createGraphics();
    graphics2D.drawImage( imageIcon.getImage() , 0 , 0 , width , height , null );
    graphics2D.dispose();

    return new ImageIcon( bufferedImage , imageIcon.getDescription() );
}
于 2012-07-19T14:49:51.180 に答える
1

あなたが試すことができます:

private BufferedImage getScaledImage(Image srcImg, int w, int h) {
    BufferedImage resizedImg = new BufferedImage(w, h, Transparency.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;
}                         
于 2012-07-19T14:50:02.973 に答える