如何将图像图标调整为我的检查器?

时间:2014-09-07 09:32:45

标签: java swing jbutton imageicon

我有这四个类变量:

private static final ImageIcon redKing = new ImageIcon("Images/redKingImage.png");
private static final ImageIcon blackKing = new ImageIcon("Images/blackKingImage.png");
private static final ImageIcon redChecker = new ImageIcon("Images/redCheckerImage.png");
private static final ImageIcon blackChecker = new ImageIcon("Images/blackCheckerImage.png");

我使用此方法将图标设置为我的棋盘。

private void setImageOfChecker()
{   

    if(this.isKing == true){
        if(isRed){
            this.imageOfChecker = redKing;
        }
        else{
            this.imageOfChecker = blackKing;
        }
    }
    else{
        if(isRed){
            this.imageOfChecker = redChecker;
        }
        else{
            this.imageOfChecker = blackChecker;
        }
    }
}

我现在的问题是图标对于棋盘上的方块来说太大了,我想知道将这些图像重新缩放到特定尺寸(例如16x16像素)的最简单方法是什么这些图标非常适合在板上。

1 个答案:

答案 0 :(得分:1)

您可以使用我基于此线程制作的简单方法: resizing a ImageIcon in a JButton

public ImageIcon resizeIcon(int width, int height, ImageIcon icon) {
   Image img = icon.getImage();
   Image newimg = img.getScaledInstance(width, height, java.awt.Image.SCALE_SMOOTH);
   icon = new ImageIcon(newimg);  
   return icon;
}

正如MadProgrammer所说,有一种更好的方法来确保良好的质量: link