将两个 YV12 图像缓冲区合并为一个并排图像 Java/Android

Kir*_*tov 5 java android image kotlin

这个问题在 C++ 中有答案。有没有办法做同样的事情或从 Java/Android 端调用代码?

将两个 YV12 图像缓冲区合并为一个并排图像

java/kotlin 中的这段代码类似物是什么?

BYTE* source = buffer;
BYTE* destination = convertBuffer3D;
Run Code Online (Sandbox Code Playgroud)

这个 memcpy 函数(取自 c++ 参考memcopy)有什么类似的吗?

void * memcpy ( void * destination, const void * source, size_t num );
Run Code Online (Sandbox Code Playgroud)

nor*_*nor 4

为什么不使用 Java 数组复制、System.arraycopy或类方法之一java.util.Arrays.copyOf

 byte[] source_arr = {0,1,2};
 byte[] dest_arr = Arrays.copyOf(source_arr , source_arr.length);
Run Code Online (Sandbox Code Playgroud)

数组复制

你可以使用数组复制。请参阅 oracle 文档arraycopy

public static void arraycopy(Object src,
                             int srcPos,
                             Object dest,
                             int destPos,
                             int length)
Run Code Online (Sandbox Code Playgroud)

因为java没有unsigned charc++ byte类似的数据类型。我知道实现类似数据类型 ( BYTE) C++ 的唯一方法是将整数类型向下转换为字节:

int var = 128;
byte _BYTE = (byte)128;
Run Code Online (Sandbox Code Playgroud)