PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile (précédentes versions) → réduction d'image
réduction d'image
Débuté par Michel, 29 mai 2018 09:43 - 1 réponse
Posté le 29 mai 2018 - 09:43
Bonjour,

Je suis en WD20
J'ai une application qui prend des photos à partir d'un téléphone mobile et les remonte sur un site internet.
Entre ces deux étapes je voudrais 'retailler' l'image pour limiter le volume du fichier.

La prise de photo ne pose pas de souci :
VidéoCapture(ca_Photo, LC_Chemin, viCaptureImage)

Je charge ensuite le fichier obtenu dans un objet Image, j'effectue un DCopie et j'enregistre le résultat
LO_Image = dChargeImage(LC_Image)
SI ErreurDétectée ALORS
Info(ErreurInfo(errMessage))
FIN
x = dCopie(LO_Image, LO_Copie, 0, 0,LN_LargeurInitiale, LN_HauteurInitiale,0, 0, LN_HauteurSite, LN_LargeurSite)
SI ErreurDétectée ALORS
Info(ErreurInfo(errMessage))
FIN
x = dSauveImageJPEG(LO_Copie, LC_Image2, 60)
SI ErreurDétectée ALORS
Info(ErreurInfo(errMessage))
FIN

Le boolean x est faux dès le dCopie. Par contre jamais je n'entre dans le test Si ErreurDetectee.
Si quelqu'un a une idée je suis preneur
Une seconde question : peut-on forcer le format de l'image à JPEG ? A lire la documentation je comprends que c'est le système d'exploitation qui le définit.
Merci d'avance
Posté le 29 mai 2018 - 12:05
J'ai trouvé cette solution :

LO_Image = dChargeImage(LC_Image, imgConvertir)
dRedimensionne(LO_Image, LN_LargeurSite, LN_HauteurSite, drHomothétiqueCentré)
dSauveImageJPEG(LO_Image, LC_Image, 60)


Ce n'est pas toujours évident de trouver LA fonction. L'approche objet de beaucoup de langages permet en saisissant le point juste après l'instance de voir toutes les propriétés et toutes les méthodes qui lui sont attachées. Par hasard j'ai trouvé dRedimensionne.

De là à comprendre pourquoi une fonction renvoie faux et que ErreurDetectée ne se déclenche pas cela fait toujours partie de mes rêves.