我试图修改像素中的LSB,以便在图片中存储信息。当我将位图存储到png文件时,编码和解码确实可以工作,该文件应该是无损的,并重新加载它,像素值已经改变。当我把字符放回一起时,这当然会导致错误的值,但是大多数时候,这可以通过从字节中减去136来修复,然后再从中生成一个字符。问题必须是存储和重新加载,因为当我将位图直接传递给解码器时,一切都很好。
请尝试在存储图像时提供质量值。
bitmap.compress(Bitmap.CompressFormat.PNG,0, imageOut)
第二个参数为质量值,取值范围为0 ~ 100。