我有一个存储为 byte[] 数组的图像,我想在将其发送到其他地方(作为 byte[] 数组)进行处理之前翻转图像。
我四处搜索,但无法找到不对 byte[] 数组中的每一位进行操作的简单解决方案。
如何将 byte array[] 转换为某种图像类型,使用现有的翻转方法翻转它,然后将其转换回 byte[] 数组?
有什么建议吗?
干杯!
最佳答案
字节数组转位图:
Bitmap bmp = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
通过提供直角 (180) 使用它来旋转图像:
public Bitmap rotateImage(int angle, Bitmap bitmapSrc) {
Matrix matrix = new Matrix();
matrix.postRotate(angle);
return Bitmap.createBitmap(bitmapSrc, 0, 0,
bitmapSrc.getWidth(), bitmapSrc.getHeight(), matrix, true);
}
然后回到数组:
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] flippedImageByteArray = stream.toByteArray();
关于java - 翻转存储为 byte[] 数组的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16950953/