In un progetto, desidero ridimensionare e modificare contemporaneamente l'opacità di un'immagine. Finora penso di aver ridimensionato. Io uso un metodo definito in questo modo per realizzare il ridimensionamento:Modifica dell'immagine Opacity
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;
}
ho ottenuto questo codice da qui. Quello a cui non riesco a trovare una soluzione sta cambiando l'opacità. Questo è quello che mi chiedo come fare (se è possibile a tutti). Grazie in anticipo.
UPDATE:
ho provato questo codice per visualizzare un'immagine di un cerchio con interni trasparenti e esterni (vedi sotto immagine) crescente e sempre meno opaca, ma non ha funzionato. Non sono sicuro di cosa c'è che non va. Tutto il codice è in una classe chiamata Animazione
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;
}
mi chiamano così:
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);
}
Per un aiuto migliore, pubblicare un [SSCCE] (http://sscce.org/). –