Trong một dự án, tôi muốn thay đổi kích thước đồng thời và thay đổi độ mờ của hình ảnh. Cho đến nay tôi nghĩ rằng tôi đã có thay đổi kích thước xuống. Tôi sử dụng một phương pháp được xác định như vậy để thực hiện thay đổi kích thước:Thay đổi độ mờ ảnh
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;
}
Tôi nhận được mã này từ đây. Những gì tôi không thể tìm thấy một giải pháp để thay đổi độ mờ đục. Đó là những gì tôi đang tự hỏi làm thế nào để làm (nếu nó có thể ở tất cả). Cảm ơn trước.
CẬP NHẬT:
Tôi đã thử mã này để hiển thị một hình ảnh của một vòng tròn với bên trong minh bạch và outsides (xem bên dưới hình ảnh) ngày càng tăng và trở nên ngày càng ít đục, nhưng nó đã không làm việc. Tôi không biết có gì sai. Tất cả các mã trong một lớp được gọi là 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;
}
Tôi gọi nó là như thế này:
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);
}
Để được trợ giúp tốt hơn sớm hơn, hãy đăng [SSCCE] (http://sscce.org/). –