IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

[NDK] Appeler la fonction compress


Sujet :

Android

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 42
    Points : 31
    Points
    31
    Par défaut [NDK] Appeler la fonction compress
    Bonjour,

    Je souhaiterais utiliser le code suivant dans la partie NDK.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    OutputStream fOut = new FileOutputStream(file);
    	 bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fOut);
    	 fOut.flush();
    	 fOut.close();
    J'ai donc commencé à coder la fonction comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void compress(JNIEnv* env, jobject fOut){
     
    	jclass bitmapCompressFormat = (*env)->FindClass(env,"android/graphics/Bitmap$CompressFormat");
    	jfieldID CFFieldID = (*env)->GetStaticFieldID(env,bitmapCompressFormat, "JPEG","Landroid/graphics/Bitmap$CompressFormat;");
    	jobject CFObj = (*env)->GetStaticObjectField(env,bitmapCompressFormat, CFFieldID);
    Mais je bloque, dois-je utiliser la fonction CallObjectMethod ?

    PS : l'image bitmap est en variable globale dans le code NDK.

    merci

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 42
    Points : 31
    Points
    31
    Par défaut
    J'ai fait ce ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    void compress(JNIEnv* env, jobject *fOut){
     
    jclass bitmapCompressFormat = (*env)->FindClass(env,"android/graphics/Bitmap$CompressFormat");
    jfieldID CFFieldID = (*env)->GetStaticFieldID(env,bitmapCompressFormat, "JPEG","Landroid/graphics/Bitmap$CompressFormat;");
    jobject CFObj = (*env)->GetStaticObjectField(env,bitmapCompressFormat, CFFieldID);
     
    jclass bitmapClass =(*env)->GetObjectClass(env, bitmap_array[0]);
    jmethodID compressBitmapMethodID = (*env)->GetMethodID(env,bitmapClass,"compress","(Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z");
     
    (*env)->CallBooleanMethod(env,bitmapClass, compressBitmapMethodID, CFObj, (jint)100, *fOut);
     
    }
     
    JNIEXPORT void JNICALL Java_com_android_toto_activities_titi_compress(JNIEnv* env, jobject obj,jobject fOut) {
     
    compress(env,&fOut);
    }
    Mais ca ne fonctionne pas, ca crash.

    Merci de votre aide

Discussions similaires

  1. Appeler une fonction avec "action" ds un
    Par drinkmilk dans le forum ASP
    Réponses: 4
    Dernier message: 20/04/2004, 15h54
  2. Réponses: 4
    Dernier message: 19/04/2004, 14h41
  3. [JSP] Appeler une fonction
    Par Patrick95 dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 23/12/2003, 14h44
  4. Appel à des fonctions incluses dans des DLL
    Par Greybird dans le forum Langage
    Réponses: 3
    Dernier message: 26/05/2003, 14h33
  5. Appeler une fonction avec/sans parenthèses
    Par haypo dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 29/12/2002, 19h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo