gpt4 book ai didi

java - 翻转存储为字节数组的图像

转载 作者:搜寻专家 更新时间:2023-10-31 20:32:27 24 4
gpt4 key购买 nike

我有一个存储为 byte[] 数组的图像,我想在将字节写入磁盘之前垂直翻转图像。

图像字节来自压缩的 jp2 图像文件。我已经研究过实现类似 Flip image stored as a byte[] array 的东西,但我不在 android 中工作,也无权访问 BitmapFactory。我还研究过先将字节数组转换为 BufferedImage,然后翻转它,但图像的高度和宽度在当前上下文中未知(编辑:我修改了代码,因此高度和宽度是现在知道)。

有没有办法只通过严格的数组操作来做到这一点?

编辑:尝试翻转代码

 public static byte[] flip(byte[] imageBytes) {
//separate out the sub arrays
byte[] holder = new byte[imageBytes.length];
byte[] subArray = new byte[dimWidth];//dimWidth is the image width, or number of matrix columns
int subCount = 0;
for (int i = 0; i < imageBytes.length; i++) {
subArray[subCount] = imageBytes[i];
subCount++;
if (i% dimWidth == 0) {
subArray = reverse(subArray);
if (i == (dimWidth)) {
holder = subArray;
} else {
holder = concat(holder, subArray);
}
subCount = 0;
subArray = new byte[dimWidth];
}
}
subArray = new byte[dimWidth];
System.arraycopy(imageBytes, imageBytes.length - dimWidth, subArray, 0, subArray.length);
holder = concat(holder, subArray);
imageBytes = holder;
return imageBytes;
}

最佳答案

没关系伙计们,我让它工作了。在将它们交织到最终数组之前,我只需要翻转高字节和低字节。对于任何和我有同样问题的人,在交错之前分别对你的高字节数组和低字节数组使用上面的翻转函数。

感谢您的帮助!

关于java - 翻转存储为字节数组的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41552910/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com