PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → Modification automatique taille image
Modification automatique taille image
Débuté par Fred2355, 26 nov. 2020 10:32 - 8 réponses
Membre enregistré
231 messages
Popularité : +7 (7 votes)
Posté le 26 novembre 2020 - 10:32
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
Posté le 26 novembre 2020 - 11:02
iMonImage est une image
iMonImage = dChargeImage(TonFichier, imgConvertir, nLargeurPixel, nHauteurPixel)
Membre enregistré
3 845 messages
Popularité : +227 (347 votes)
Posté le 26 novembre 2020 - 12:49
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
Membre enregistré
231 messages
Popularité : +7 (7 votes)
Posté le 26 novembre 2020 - 14:19
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.
Membre enregistré
231 messages
Popularité : +7 (7 votes)
Posté le 26 novembre 2020 - 14:56
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.
Posté le 26 novembre 2020 - 16:30
Bonjour,

Normalement tu peux faire directement :
Nouvelleimage = dChargeImage(NomCheminFichier, imgConvertir,800,600)
dSauveImageJPEG(Nouvelleimage, ComplèteRep(fRepExe())+"Test.jpeg", 80)
Membre enregistré
231 messages
Popularité : +7 (7 votes)
Posté le 26 novembre 2020 - 17:22
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.
Posté le 26 novembre 2020 - 19:42
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
Membre enregistré
231 messages
Popularité : +7 (7 votes)
Posté le 27 novembre 2020 - 06:55
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 !