gpt4 book ai didi

java - 保存图像时,它会将其保存为黑色透明而不是真实图像

转载 作者:行者123 更新时间:2023-12-02 10:18:26 24 4
gpt4 key购买 nike

当保存图像时,它变成黑色方 block 而不是所选图像,我希望能够从我的计算机保存图像并将其保存在项目的文件夹中,以便在压缩并发送时他们可以查看我的图像已上传。

我尝试过 BufferedImage.TYPE_INT_ARGB 但我不知道这是否是问题所在。

private void imageToArray(){
int width = originalBI.getWidth();
int height = originalBI.getHeight();

newBI = new BufferedImage(width,height,BufferedImage.TYPE_INT_ARGB);

pixels = new int[width][height];

for(int i = 0; i<width;i++){
for(int j = 0;j<height;j++){
pixels[i][j]=originalBI.getRGB(i,j);
}
}
}

private void saveImage(){
int returnValue = saveFileChooser.showSaveDialog(this);

if(returnValue == JFileChooser.APPROVE_OPTION) {
try{
ImageIO.write(newBI, "png",saveFileChooser.getSelectedFile());
lblMessage.setText("Image File Succesfully saved");

}catch(IOException ex){
lblMessage.setText("Failed to save image file");
}
}
else{
lblMessage.setText("No file Choosen");
}
}

最佳答案

不需要逐像素地工作,这样会很慢。

private void imageToArray(){
int width = originalBI.getWidth();
int height = originalBI.getHeight();

newBI = new BufferedImage(width,height,BufferedImage.TYPE_INT_ARGB);
Graphics2D g = newBI.createGraphics();
g.drawImage(originalBI, 0, 0, width, height, null);
g.dispose();

}

可以创建一个用于绘图的 Graphics。

有多种方法,例如如果图像的一部分是透明的,则使用背景颜色。

关于java - 保存图像时,它会将其保存为黑色透明而不是真实图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54513523/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com