Bonjour,
je travaille actuellement sur une Application android qui interagit avec un programme en c++. Or ce dernier utilise une image en bmp et avec android bien que je puisse manipuler les Bitmap, je ne peux pas enregistrer sur la sdcard d'image en bmp.
Je pensais donc dans mon code Java déclarer une méthode native qui prendrait en paramètre une String (représentant le path du fichier en jpg) et dans mon code C++, transformer ce fichier en bitmap.
La transmission de la String ne pose aucun problème, mais la conversion ne fonctionne pas ; les erreurs que m'indique cygwin sont :
Graphics has not been declared
Graphics has not been declared
"bmp" was not declared in this scope
"TJPEGImage" was not declared in this scope
"jpg" was not declared in this scope
expected type-specifier before 'TJPEGImage'
expected type-specifier before 'Graphics'
expected ';' before 'Graphics'
Mon code est le suivant :
Ne connaissant pas du tout le C++, je ne sais pas si l'erreur provient du code lui-même ou du fait que la librairie utilisée est en .hpp alors que les autres sont en .h .
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 #include <Jpeg.hpp> extern "C" JNIEXPORT void JNICALL Java_com_exemple_monexemple_MonActivite_setImageFile( JNIEnv* env, jobject, jstring jFicJpg) { const char* FicJpg = env->GetStringUTFChars(jFicJpg, 0); using Graphics::TBitmap; Graphics::TBitmap* bmp; TJPEGImage *jpg = new TJPEGImage(); bmp = new Graphics::TBitmap (); jpg->LoadFromFile(FicJpg); bmp->Assign(jpg); bmp->SaveToFile(ImageFile); }
Quelqu'un pourrait m'aider, en me donnant par exemple un code c++ permettant de faire la conversion jpg->bmp en utilisant uniquement des librairies .h?
Merci d'avance pour vos réponses![]()
Partager