|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
Débuté par Pampi, 24 nov. 2005 10:03 - 6 réponses |
| |
| | | |
|
| |
Posté le 24 novembre 2005 - 10:03 |
Bonjour,
Comment peut-on modifier la résolution verticale et la résolution horizontale d'une image JPEG ?
Merci par avance.
Pampi |
| |
| |
| | | |
|
| | |
| |
Posté le 24 novembre 2005 - 11:48 |
Salut
Si tu as une image JPEG de 1000x1000. Tu peux l'afficher dans un champ Image de 500x500. Avec dSauveImageJPEG tu peux alors créer une image JPEG de 500x500.
Est-ce bien ce que tu veux faire ?
-- Ciao Pat Biker http://aaa.windev.free.fr/
On Thu, 24 Nov 2005 09:03:08 +0100, "Pampi" <Pampi@wanadoo.fr> wrote:
Bonjour,
Comment peut-on modifier la résolution verticale et la résolution horizontale d'une image JPEG ?
Merci par avance.
Pampi
|
| |
| |
| | | |
|
| | |
| |
Posté le 24 novembre 2005 - 16:35 |
Merci pour ta réponse Pat.
En consultant ton site, je vois que tu es un spécialiste de la gestion des images dans WinDev ... je ne pouvais pas rêver mieux ! ;o)
J'ai déjà soumis mon problème exact dans un post récent (sujet : "Compresser une image") mais personne ne m'a donné de solution ...
Je le soumets ici à nouveau (en plus simple) en espérant que tu pourras m'éclairer ...
Je t'en remercie à l'avance .
Pampi
Un client me demande la chose suivante : à partir d'une photo (dont on ne connaît pas à l'avance la hauteur et la largeur) que l'utilisateur sélectionnera dans un répertoire, il faut créer sur C:\ 3 photos de type JPEG avec les caractéristiques suivantes (bien entendu, les proportions et la qualité de la photo originale doivent être respectées dans ces 3 photos car elles seront utilisées sur un site Internet) : - Photo 1 : Largeur en pixels : 150 Hauteur en pixels : définie par homothétie Taux de compression : 60 % - Photo 2 : Largeur en pixels : 800 Hauteur en pixels : définie par homothétie Taux de compression : 33 % - Photo 3 : Largeur en pixels : 1024 Hauteur en pixels : définie par homothétie Taux de compression : 33 % COMMENT FAIRE ? J'ai essayé avec dSauveImage JPEG, en utilisant la bibliothèque Gdi.WDL (qui contient une classe pour gérer les images) mais rien n'y fait ... les photos générées n'ont pas la qualité de la photo initiale.
Merci par avance. |
| |
| |
| | | |
|
| | |
| |
Posté le 24 novembre 2005 - 17:32 |
Merci pour ta réponse.
C'est exactement ce que je fais ... recalculer les largeurs par la règle de trois , 3 images hors-écran ... Je ne comprends pas.
Est-ce que je pourrais t'envoyer mon projet (que la fenêtre et le code concernés par ma question) pour que tu voies ce que j'ai mal fait (à l'adresse sur ton site ou une autre ...) ?
Je te remercie déjà pour ton aide.
Bonne soirée.
Pampi
PS si tu es OK, je te l'enverrai demain matin, je dois partir ... |
| |
| |
| | | |
|
| | |
| |
Posté le 24 novembre 2005 - 17:43 |
Salut
Je ne vois pas de difficulté dans ce que tu décris. Avec dSauveImage, il n'y a pas de perte de qualité à partir du moment où le format de sortie est < à celui de l'image initiale.
Quand l'utilisateur à choisi l'image, la commande InfoBitmap te permet de connaitre sa hauteur et sa largeur.
Tu dois disposer de 3 images différentes.
Le premier traitement consiste a redimensionner ces images. C'est une règle de trois. Ensuite tu affectes chaque image avec le fichier image et puis dSauveImageJPEG avec le taux de compression adéquat.
Note: tes 3 images peuvent être hors-écran
--
Ciao Pat Biker http://aaa.windev.free.fr/
On Thu, 24 Nov 2005 15:35:27 +0100, "Pampi" <Pampi@wanadoo.fr> wrote:
Merci pour ta réponse Pat.
En consultant ton site, je vois que tu es un spécialiste de la gestion des images dans WinDev ... je ne pouvais pas rêver mieux ! ;o)
J'ai déjà soumis mon problème exact dans un post récent (sujet : "Compresser une image") mais personne ne m'a donné de solution ...
Je le soumets ici à nouveau (en plus simple) en espérant que tu pourras m'éclairer ...
Je t'en remercie à l'avance .
Pampi
Un client me demande la chose suivante : à partir d'une photo (dont on ne connaît pas à l'avance la hauteur et la largeur) que l'utilisateur sélectionnera dans un répertoire, il faut créer sur C:\ 3 photos de type JPEG avec les caractéristiques suivantes (bien entendu, les proportions et la qualité de la photo originale doivent être respectées dans ces 3 photos car elles seront utilisées sur un site Internet) :
- Photo 1 : Largeur en pixels : 150 Hauteur en pixels : définie par homothétie Taux de compression : 60 %
- Photo 2 : Largeur en pixels : 800 Hauteur en pixels : définie par homothétie Taux de compression : 33 %
- Photo 3 : Largeur en pixels : 1024 Hauteur en pixels : définie par homothétie Taux de compression : 33 %
COMMENT FAIRE ?
J'ai essayé avec dSauveImage JPEG, en utilisant la bibliothèque Gdi.WDL (qui contient une classe pour gérer les images) mais rien n'y fait ... les photos générées n'ont pas la qualité de la photo initiale.
Merci par avance.
|
| |
| |
| | | |
|
| | |
| |
Posté le 24 novembre 2005 - 18:48 |
Salut
Alors là, j'ai peur d'avoir un problème de WAF (voir http://www.wordspy.com/words/wifeacceptancefactor.asp).
Je veux bien donner un conseil par-ci, par-là, mais je vais pas me lancer dans l'assistance personnalisée. Désolé.
-- Ciao Pat Biker http://aaa.windev.free.fr/
On Thu, 24 Nov 2005 16:32:49 +0100, "Pampi" <Pampi@wanadoo.fr> wrote:
Merci pour ta réponse.
C'est exactement ce que je fais ... recalculer les largeurs par la règle de trois , 3 images hors-écran ... Je ne comprends pas.
Est-ce que je pourrais t'envoyer mon projet (que la fenêtre et le code concernés par ma question) pour que tu voies ce que j'ai mal fait (à l'adresse sur ton site ou une autre ...) ?
Je te remercie déjà pour ton aide.
Bonne soirée.
Pampi
PS si tu es OK, je te l'enverrai demain matin, je dois partir ...
|
| |
| |
| | | |
|
| | |
| |
Posté le 25 novembre 2005 - 08:44 |
Je suis désolé, enthousiasmé par tes compétences en matière de gestion d'images je me suis emporté ....
Alors juste si tu peux me dire ce qui ne va pas ou ce qui me manque dans le code ci-dessous ça me débloquerait bien la situation .... Si j'abuse, n'hésite pas à me le dire, je comprendrais ....
Merci encore et bonne journée.
Pampi
========================================================== La photo qui me sert de test (nomimage) a pour caractéristiques : - largeur = 2560 - hauteur = 1920 - résolution horizontale = 300 - résolution verticale = 300
PHOTO1 est un champ image qui a pour caractéristiques : - largeur = 100 - hauteur = 100 - Mode d'affichage = Homothétique étendu centré ==========================================================
nomimage est une chaîne repdefaut est une chaîne InfoImage est une chaîne Largeur est un entier Hauteur est un entier chemin est une chaîne
repdefaut = "C:\"
nomimage = gsSélectionnerImage(repdefaut, "Fichier.JPEG", "Sélectionner une image", ... "JPG (*.JPG)"+ TAB + "*.jpg" + RC + "JPEG (*.JPEG)"+TAB+".jpeg")
PHOTO1..Valeur = nomimage
// Récupération des caractéristiques de l'image InfoImage = InfoBitmap (nomimage) Largeur = Val(ExtraitChaîne(InfoImage, 2)) Hauteur = Val(ExtraitChaîne(InfoImage, 3))
// Copie de l'image dans les champs image hors écran // image 1 = largeur 150 et mode d'affichage HQ+ Homothétique étendu centré // image 2 = largeur 800 et mode d'affichage HQ+ Homothétique étendu centré // image 3 = largeur 1024 et mode d'affichage HQ+ Homothétique étendu centré dCopieImage("PHOTO1", Image1, copieSrcCopie) dCopieImage("PHOTO1", Image2, copieSrcCopie) dCopieImage("PHOTO1", Image3, copieSrcCopie)
// On calcule la largeur des photos A, B et C pour respecter les proportions de // la photo d'origine SI Largeur <> 0 ALORS Image1..Hauteur = (Image1..Largeur * Hauteur) / Largeur Image2..Hauteur = (Image2..Largeur * Hauteur) / Largeur Image3..Hauteur = (Image3..Largeur * Hauteur) / Largeur FIN
// On enregistre les photos A, B et C dSauveImageJPEG(Image1,ComplèteRep(repdefaut)+"A.JPEG") dSauveImageJPEG(Image2,ComplèteRep(repdefaut)+"B.JPEG") dSauveImageJPEG(Image3,ComplèteRep(repdefaut)+"C.JPEG")
// La photo stockée pour affichage à l'écran est la A chemin = ComplèteRep(repdefaut)+"A.JPEG"
RENVOYER chemin |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|