PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2024 → compresser une image
compresser une image
Iniciado por developpement, 15,nov. 2004 12:28 - 4 respuestas
Publicado el 15,noviembre 2004 - 12:28
bjr je dois envoyer des images par ftp mais les réduire à un poids donné maximum (ex :100 ko)

Ce sont des images en jpeg et je cherche un moyen pour les compresser avant de les envoyer, si qqun a une solution, merci d'avance

Cordialement
Publicado el 15,noviembre 2004 - 16:00
Salut

Tu peux utiliser la fonction dSauvemageJpeg() pour compresser l'image. Tu peux faire varier le paramètre qualité jusqu'à obtenir une taille correcte.

Ciao
http://wdgotcha.atspace.com
Publicado el 15,noviembre 2004 - 16:01
tu peux toujours créer un zip avec les fonctions zip.
autre piste : jouer sur la qualité de l'image avec la commande dsauveimage

A+
Adrien.
Publicado el 16,noviembre 2004 - 09:51
oui effectivement j'ai découvert cette option mais le problème j'ai des tailles d'images complètement différentes à la base, l'idéal aurait été une fonction qui réduit de façon homothétique l'image afin d'obtenir un poids x donné maximum.

là en fait il va falloir faire successivemnt plusieurs dsauveimagejpg et tester le résultat obtenu non ?

merci
Publicado el 15,marzo 2006 - 21:29
Moi j'ai réduit mes images provenant d'un appareil photo 1280X960

Tu les réduits en 640X480 OU 800X600

Créer un champ image avec option HOMOTHETIQUE CENTRE que j'appele 'MASQUE'

[Code]

res est une chaîne=fSélecteurImage("", "", "Sélectionnez un fichier...",fFiltreImage())
SI res <>"" ALORS
PixelLarge est un réeld0
PixelHaut est un réelH0
rCoef est un réel
InfoIMG est une chaîne=InfoBitmap(res)
ResX est un réel=Val(ExtraitChaîne(InfoIMG,2))
ResY est un réel=Val(ExtraitChaîne(InfoIMG,3))
SI ResX>PixelLarge ET ResY >PixelHaut ALORS
SI ResX>ResY ALORS
rCoef = ResX / PixelLarge
SINON
rCoef = ResY / PixelHaut
fin
FIN
Masque..Largeur = ResX/rCoef
Masque..Hauteur = ResY/rCoef
Masque = Res
dSauveImageJPEG(Masque,"C:\"+fExtraitChemin(res, fFichier+fExtension))
fin