PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV (earlier versions) → Modification automatique taille image
Modification automatique taille image
Started by Fred2355, Nov., 26 2020 10:32 AM - 8 replies
Registered member
231 messages
Popularité : +7 (7 votes)
Posted on November, 26 2020 - 10:32 AM
Bonjour,

Je suis a la recherche d'une aide pour réaliser une action automatisée.
Je cherche à ce que le fichier image (en format JPG) que je sélectionne avec le sélecteur de fichier soit automatiquement réduit à un format 800x600/150dpi quelque soit sa taille supérieur avant la sélection.

Je n'ai jamais manipulé d'image windev alors je ne sais pas par où chercher et commencer.

Pouvez vous m'aider?
Merci
Posted on November, 26 2020 - 11:02 AM
iMonImage est une image
iMonImage = dChargeImage(TonFichier, imgConvertir, nLargeurPixel, nHauteurPixel)
Registered member
3,885 messages
Popularité : +227 (347 votes)
Posted on November, 26 2020 - 12:49 PM
Bonjour,
Si tu veux conserver les proportion, il faudra ajuster les valeurs grâce à une règle de 3

--
Il y a peut être plus simple, mais, ça tourne
Registered member
231 messages
Popularité : +7 (7 votes)
Posted on November, 26 2020 - 2:19 PM
Phil a écrit :
iMonImage est une image
iMonImage = dChargeImage(TonFichier, imgConvertir, nLargeurPixel, nHauteurPixel)


Parfait! Merci. Jusque là, c'est nickel
Je vais voir maintenant comment sauvegarde cette nouvelle image.
Registered member
231 messages
Popularité : +7 (7 votes)
Posted on November, 26 2020 - 2:56 PM
J'ai trouvé dans les docs, la fonction dSauveImageJPEG()
Mon champ image IMG_SansNom1 une une petite zone de controle de 100x200.

J'ai donc mis comme codes

ListeFichierImage = fFiltreImage()
NomCheminFichier = fSélecteurImage("C:\Répertoires", "Fichier.gif", "Sélectionner une image",...
ListeFichierImage+" JPEG (*.JPG)"+TAB+"*.jpg"+RC+"BMP (*.BMP)"+TAB+"*.gif")

Nouvelleimage = dChargeImage(NomCheminFichier, imgConvertir,800,600)
IMG_SansNom1=Nouvelleimage
dSauveImageJPEG(IMG_SansNom1, frepexe+"Test", 80)

Mon soucis est que l'image Text.jpg enregistrée à la taille de IMG_SansNom1 et non pas 800,600 comme défini dans dChargeimage.

L'image ne devrait elle pas etre de la taille de dChargeimage?
A vous lire.
Posted on November, 26 2020 - 4:30 PM
Bonjour,

Normalement tu peux faire directement :
Nouvelleimage = dChargeImage(NomCheminFichier, imgConvertir,800,600)
dSauveImageJPEG(Nouvelleimage, ComplèteRep(fRepExe())+"Test.jpeg", 80)
Registered member
231 messages
Popularité : +7 (7 votes)
Posted on November, 26 2020 - 5:22 PM
NN12 a écrit :
Bonjour,

Normalement tu peux faire directement :
Nouvelleimage = dChargeImage(NomCheminFichier, imgConvertir,800,600)
dSauveImageJPEG(Nouvelleimage, CompleteRep(frepexe())+"Test.jpeg", 80)


Merci pour ton message.
J'avais aussi testé cette solution, mais l'image test.jpg qui est censée être de 800x600 conserve la taille de l'image d'origine 4000x3000.
Posted on November, 26 2020 - 7:42 PM
Tout simple :

CHAMP image hors écran (ou visible, au choix) avec la taille cible (ici, 800*600, mais tu peux modifier sa taille par code avant de mettre une image dedans si ce devient plus complexe).. Appelons le MonChampImage
Ensuite, le code :
MonChampImage=CheminCompletDeLImage
dsauveImageJPG(MonCHampImage,CheminCompletImageCible)

Fini...
Le chargement dans le champ en 800*600 dimensionne l'image, et le dsavexxx la sauve sous cette nouelle taille.
1 champ, et 2 lignes de code
Registered member
231 messages
Popularité : +7 (7 votes)
Posted on November, 27 2020 - 6:55 AM
Argus a écrit :
Tout simple :

CHAMP image hors écran (ou visible, au choix) avec la taille cible (ici, 800*600, mais tu peux modifier sa taille par code avant de mettre une image dedans si ce devient plus complexe).. Appelons le MonChampImage
Ensuite, le code :
MonChampImage=CheminCompletDeLImage
dsauveImageJPG(MonCHampImage,CheminCompletImageCible)

Fini...
Le chargement dans le champ en 800*600 dimensionne l'image, et le dsavexxx la sauve sous cette nouelle taille.
1 champ, et 2 lignes de code


Bonjour Argus,

Merci! Ca fonctionne !