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에 따라 라이센스가 부여됩니다.