Bek*_*eka 8 android android-layout android-canvas android-bitmap
我写了一些代码,可以将tablelayout转换为bitmap.everythink工作完美但是,我的位图有黑色背景这是我的源代码
public Bitmap sendMyData(TableLayout view) {
Bitmap bitmap = null;
ByteArrayOutputStream bbb = new ByteArrayOutputStream();
view.setDrawingCacheEnabled(true);
view.layout(0, 0, view.getWidth(), view.getHeight());
view.buildDrawingCache(true);
bitmap = Bitmap.createBitmap(view.getDrawingCache());
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, bbb);
view.setDrawingCacheEnabled(false);
return bitmap;
}
Run Code Online (Sandbox Code Playgroud)
我的代码出了什么问题?为什么我的位图有黑色背景?如果有人知道解决方案,请帮助我谢谢
JPEG格式必须具有背景颜色.因此,当您将PNG图像或图标转换为JPEG时,请将透明背景替换为黑色.
将其转换为PNG.bitmap.compress(Bitmap.CompressFormat.PNG,100,bbb);
JPEG 格式不支持 Alpha 透明度,这就是当您将原始图像转换为 JPEG 时透明背景变成黑色的原因。
请改用 PNG 格式
我在这里找到了它:为什么位图到 Base64 字符串在 android 的 webview 上显示黑色背景?
| 归档时间: |
|
| 查看次数: |
6728 次 |
| 最近记录: |