我试图将图像(PNG
文件仅存在于内存中,而不位于硬盘上)从旧的C++
应用程序传递到我的Java 8
应用程序中,但我没有找到解决方案。在我的Java
应用中,我在C++
DLL中调用了本机函数。
在我的Java应用程序中,我想我应该写一些与 字节数组。
public static native Byte[] getByteArrayImage()
在C ++应用中,我编写了这段代码
JNIEXPORT jbyteArray JNICALL Java_it_getByteArrayImage(JNIEnv * env, jclass obj, jint imagekind)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
unsigned long bufferSize;
BYTE* buffer = PaintToBufferImage(imagekind, &bufferSize);
jbyteArray jb= env->NewByteArray(bufferSize);
env->SetByteArrayRegion(jb, 0, bufferSize, (jbyte *)buffer);
return jb;
}
你能帮我吗?谢谢。