jni 를 간단하게 사용 하여 자바 방법 을 호출 합 니 다.
jobject zoomImage(JNIEnv* env, jobject jimgo, jint width, jint height, jint hints)
{
/* */
jobject zoomimage;
jmethodID jmgsi;
jclass jimagec;
/* */
jimagec = (*env)->FindClass(env, "java/awt/Image");
/*
id
(III)Ljava/awt/Image;
(III) int,int,int 。 Ljava/awt/Image
*/
jmgsi = (*env)->GetMethodID(env, jimagec, "getScaledInstance", "(III)Ljava/awt/Image;");
zoomimage = (*env)->CallObjectMethod(env, jimgo, jmgsi, width, height, hints);
return zoomimage;
}
jobject getImage(JNIEnv* env, jbyteArray buf)
{
/* */
jclass jcls;
jmethodID jmid;
jmethodID jcreateimage;
jobject jtk;
jobject jimgo;
/*
FindClass java , , . /。
java.awt.Toolkit java/awt/Toolkit
*/
jcls = (*env)->FindClass(env, "java/awt/Toolkit");
if (jcls == NULL) {
return NULL;
}
/*
id。
class,
,
。
java public static Toolkit getDefaultToolkit()
()Ljava/awt/Toolkit;
() ,Ljava/awt/Toolkit , L ;
*/
jmid = (*env)->GetStaticMethodID(env, jcls, "getDefaultToolkit", "()Ljava/awt/Toolkit;");
/*
, Object。
: class id
*/
jtk = (*env)->CallStaticObjectMethod(env, jcls, jmid);
/*
id
, :([B)Ljava/awt/Image;
([B) byte[] , sun jni
*/
jcreateimage = (*env)->GetMethodID(env, jcls, "createImage", "([B)Ljava/awt/Image;");
/*
, Obiect , ,
。
*/
jimgo = (*env)->CallObjectMethod(env, jtk, jcreateimage, buf);
/* */
(*env)->DeleteLocalRef(env, jtk);
return jimgo;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.