Изменение прозрачности изображения

В проекте я хочу одновременно изменить размер и прозрачность изображения. Пока я думаю, что у меня есть изменение размера. Я использую метод, определенный таким образом, чтобы выполнить изменение размера:

public BufferedImage resizeImage(BufferedImage originalImage, int type){

    initialWidth += 10;
    initialHeight += 10;
    BufferedImage resizedImage = new BufferedImage(initialWidth, initialHeight, type);
    Graphics2D g = resizedImage.createGraphics();
    g.drawImage(originalImage, 0, 0, initialWidth, initialHeight, null);
    g.dispose();

    return resizedImage;
} 

Я получил этот код отсюда. Чего я не могу найти, так это изменить непрозрачность. Вот что мне интересно, как сделать (, если это вообще возможно ). Заранее спасибо.

ОБНОВЛЕНИЕ:

Я попробовал этот код, чтобы отобразить изображение круга с прозрачными внутри и снаружи (см. ниже изображение ), растущее и становящееся все менее и менее непрозрачным, но это не сработало. Я не уверен, что случилось. Весь код находится в классе под названием Animation

public Animation() throws IOException{

    image = ImageIO.read(new File("circleAnimation.png"));
    initialWidth = 50;
    initialHeight = 50;
    opacity = 1;
}

public BufferedImage animateCircle(BufferedImage originalImage, int type){

      //The opacity exponentially decreases
      opacity *= 0.8;
      initialWidth += 10;
      initialHeight += 10;

      BufferedImage resizedImage = new BufferedImage(initialWidth, initialHeight, type);
      Graphics2D g = resizedImage.createGraphics();
      g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, opacity));
      g.drawImage(originalImage, 0, 0, initialWidth, initialHeight, null);
      g.dispose();

      return resizedImage;

}

. Я называю это так:

Animation animate = new Animation();
int type = animate.image.getType() == 0? BufferedImage.TYPE_INT_ARGB : animate.image.getType();
BufferedImage newImage;
while(animate.opacity > 0){

    newImage = animate.animateCircle(animate.image, type);
    g.drawImage(newImage, 400, 350, this);

}
10
задан pasawaya 19 July 2012 в 00:47
поделиться