我有一个存储为byte[]数组的图像,我想在将其发送到其他地方进行处理(作为byte[]数组)之前翻转该图像。我四处搜索,如果不操纵byte[]数组中的每一位,就找不到简单的解决方案。如何将byte array[]转换为某种图像类型,使用现有的flip方法将其翻转,然后将其转换回byte[]数组?有什么建议吗?干杯!
3qpi33ja1#
字节数组到位图:
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();
1条答案
按热度按时间3qpi33ja1#
字节数组到位图:
通过提供直角(180),使用此选项旋转图像:
然后回到数组: