PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile (précédentes versions) → Photo prise par Champ Caméra est affiché incliné dans un champ Image Windev Mobil
Photo prise par Champ Caméra est affiché incliné dans un champ Image Windev Mobil
Débuté par Hervé, 24 jan. 2024 08:55 - 4 réponses
Posté le 24 janvier 2024 - 08:55
Photo prise par Champ Caméra est affiché incliné dans un champ Image Windev Mobil
Bonjour,
Sachant que les fonctions exif wlangage (Windev Mobile 23), ne fonctionnent pas encore sur mobile et après prise de photo avec récupération de son chemin, redimensionnement, et affichage dans un champ image, celle-ci fait une rotation de 90 °

Gaêl a écrit une procédure Java sur ce forum qui résout ce souci.

Je n’ai jamais utilisé de procédure Java, je ne sais donc pas la mettre en œuvre, et l’appeler.

Mon code : (qui ne fonctionne pas…), je ne vois pas où je me plante….

// **************************
SI sCheminImage<>"" ALORS
NewImage = dChargeImage(sCheminImage)
dRedimensionne(NewImage, 140,180)
SI PAS EnModeSimulateur () ALORS
exifRotation(NewImage)
FIN
IMG_Image = NewImage
FIN
// *************************

sCheminImage étant le chemin de la photo prise
NewImage étant une chaine de caractère.
exifRotation le nom de la procédure globale Java qui suit.

Voici la procédure Java.
// *************************
import android.media.ExifInterface;
import java.io.IOException;

public static int exifRotation(String filepath) {

int rotation = 0;

try
{
ExifInterface exifInterface = new ExifInterface(filepath);
int exifRotationInt = exifInterface.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_UNDEFINED);

if(exifRotationInt != ExifInterface.ORIENTATION_UNDEFINED)
{
switch(exifRotationInt)
{
case ExifInterface.ORIENTATION_ROTATE_90 :
rotation = 90;
break;
case ExifInterface.ORIENTATION_ROTATE_180 :
rotation = 180;
break;
case ExifInterface.ORIENTATION_ROTATE_270 :
rotation = 270;
break;
}
}
}
catch(IOException e){}

return rotation;

}

// *************************************

Merci de votre aide.
Cordialement
Hervé
Membre enregistré
3 347 messages
Popularité : +93 (137 votes)
Posté le 24 janvier 2024 - 13:22
Posté le 25 janvier 2024 - 07:37
Merci beaucoup Popoy pour votre réponse.
J'ai donc bien créé la procédure Java et recopié le code.
Mais cela ne fonctionne toujours pas ...
Je pense que je fais deux erreurs :
1- Lors de la compilation pour Android, dois-je incorporer quelque chose de plus ?
2- Mon code appelant la procédure est-il correct, Bien placé ?

Merci de votre aide.
Bien cordialement
Hervé
Membre enregistré
3 347 messages
Popularité : +93 (137 votes)
Posté le 25 janvier 2024 - 09:01
Salut
Le code java ne fait que renvoyer un entier et il faut lui transmettre le chemin de l'image
Pour vérifier la valeur retourné, tu peux la mettre dans un champ de saisie ou faire un info
Personnellement j'aurais utilisé la fonction dRotation dans le code wlanguage pour tourner l'image
Je ne vois pas comment un entier peut le faire.
Du coup j'ai cherché sur le forum
https://forum.pcsoft.fr/fr-FR/pcsoft.fr.windevmobile/38203-help-photo-qui-apparait-avec-rotation-39087/read.awp
Ce code wlanguage me paraît mieux
Message modifié, 25 janvier 2024 - 09:11
Posté le 25 janvier 2024 - 10:06
Merci 1000 fois Popoy.
Cela fonctionne parfaitement.

Je t'envoie un peu de soleil de Thaïlande.
Encore merci