gpt4 book ai didi

java - 无法将位图保存为 JPEG

转载 作者:行者123 更新时间:2023-11-30 04:11:26 27 4
gpt4 key购买 nike

我有一个用于绘图的位图对象,我想使用 JPEG 格式将其中的图像保存在 SDCARD 上。我有以下代码:

    public void saveBitmap() throws IOException {

String path=Environment.getExternalStorageDirectory().getAbsolutePath()+"/output.jpg";
File output=new File(path);

BufferedOutputStream ous = null;
try {
ous=new BufferedOutputStream(new FileOutputStream(output));
mBitmap.compress(CompressFormat.JPEG, 100, ous);
ous.flush();
ous.close();
} finally {
if (ous!=null) {
try {
ous.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Log.e("closing", e.getMessage());
}
}
}
}

但是执行这个函数后,我总是能看到黑色背景的jpeg文件。如果我将格式更改为 PNG,一切都会好的。我哪里做错了?

绘图代码:

    @Override
protected void onDraw(Canvas canvas) {

canvas.drawColor(0x00FFFFFF);
canvas.drawBitmap(mBitmap, 0, 0, mBitmapPaint);
canvas.drawPath(mPath, mPaint);
}

最佳答案

jpeg 格式不支持透明度。这就是它在保存时将透明度呈现为黑色的原因。

关于java - 无法将位图保存为 JPEG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10803222/

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