我正在创建一个叠加图像,它将作为一种过滤器位于另一个图像的顶部,强调我希望用户关注的图像部分。基本上,图像在某些地方只是纯白色,而在其他地方则是透明的,在这些部分之间模糊不清。
我正在尝试将此图像保存在我的数据库中,但无法使压缩工作。下面是我遇到问题的代码片段。
Bitmap image = Bitmap.createBitmap(width, height, Config.ALPHA_8)
... // create image
ByteArrayOutputStream stream = new ByteArrayOutputStream();
image.compress(Bitmap.CompressFormat.PNG, 100, stream); // always returns false
我已尝试将这些图像保存到文件中,但结果相同。交替压缩格式,质量(在JPEGS的情况下)也没有区别。我可以使用的唯一alpha启用格式是ARGB_8888。这对我来说是一个问题,因为我的图像高达1000px x 1000px,所以我需要节省空间。每个像素分配4个字节会导致内存问题。
在Android上压缩ALPHA_8图像是一个已知问题吗?是否需要设置一组特定的位图选项才能使其正常工作?我查看了互联网和SO,虽然有些人似乎也经历过这种情况,但大多数人似乎只是转向ARGB_8888选项而没有ALPHA_8的解决方案
感谢任何帮助