Image déformée

[Résolu]
Signaler
Messages postés
22
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
28 août 2008
-
Messages postés
22
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
28 août 2008
-
bonjour,
j'aimerais redimensionner a l'affichage des images qui sont dans ma base de donnees,l'affichage des images marche, mais elles sont déformés.
parce que dans l'html j'ai réduit le heigth et width en 100*100, mais du coup toutes mes images arrivent en 100*100 meme si a l'origine elles n'étaient pas carré!! y-a-t-il un moyen de les réduire en proportion???
merci!
pwalinett

9 réponses

Messages postés
79
Date d'inscription
lundi 28 octobre 2002
Statut
Membre
Dernière intervention
21 octobre 2008

oui, du style "./pdf/Miniatures/32_130907.jpg" si on reprend mon exemple précédent.
Messages postés
22
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
28 août 2008

oh fait j'ai oublié de préciser, je suis en C#, parce que j'ai vu plein de chose la dessus mais tout en vb...

pwalinett
Messages postés
79
Date d'inscription
lundi 28 octobre 2002
Statut
Membre
Dernière intervention
21 octobre 2008

fixe seulement le width et l'image redimensionne automatique le heigth.
Messages postés
22
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
28 août 2008

merci !!
mais si le heigth est plus grand que le width , la hauteur de la miniature dépasse les 100px.  et quand j'essaie de comparer la hauteur de l'image avec sa longueur, il me dit que c'est pas possible
if (PieceJointe.Width > PieceJointe.Height) ...

--> impossible de convertir implicitement le type System.Web.UI.WebControls.Unit en int
alors j'ai essayé  comme sa : largeuroriginale =(int)PJ.Width;

hauteuroriginale = (int)PJ.Height;

 if (largeuroriginale > hauteuroriginale

mais toujours pas...
pwalinett
Messages postés
79
Date d'inscription
lundi 28 octobre 2002
Statut
Membre
Dernière intervention
21 octobre 2008

Alors d'abord passe par un convert.toInt32 (PJ.Width.value.toString()) mais il faut pas faire ça sur l'image finale mais sur la Bitmap que tu as récupérer dans la base.

Et suivant le résultat tu détermine si c'est la largeur ou la hauteur qui est à 100.

PS : je peux pas te faire de code car le seul applicatif où je récupère une image dans une base est en vb.
Messages postés
22
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
28 août 2008

mais qu'est ce qu'il faut mettre dans le MapPath :
System.Drawing.Bitmap vignette = new System.Drawing.Bitmap(Server.MapPath("~") + "\" + repvignette);

il arete pas de me dire exception non géré!!
alors du coup il me prend pa la miniature "vignette" et m'affiche la piece jointe dans son forma original...

pwalinett
Messages postés
79
Date d'inscription
lundi 28 octobre 2002
Statut
Membre
Dernière intervention
21 octobre 2008

Je viens de faire un test  avec :
System.Drawing.

Bitmap vignette =
new System.Drawing.
Bitmap(LeChemin);

Int32 Hauteur =
Convert.ToInt32(vignette.Height.ToString());

Int32 Largeur =
Convert.ToInt32(vignette.Width.ToString());

Image imgPdf;imgPdf = (

Image)gvRecent.Rows[i].Cells[0].Controls[1].Controls[0];imgPdf.ImageUrl = CheminImage;

if (Hauteur > Largeur){

imgPdf.Height = 100;

}

else {imgPdf.Width = 100;

}

avec comme LeChemin = "c:\\perso\\ZUFFJM\\Visual Studio 2005\\WebSites\\SIP3\\pdf\\Miniatures\\32_130907.jpg
" et CheminImage est le chemin relative de l'image.
et ca marche, je récupère bien la hauteur et la largeur et modifie bien l'image.
Messages postés
22
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
28 août 2008

merci, mais (oui je sais encore un "mais") dans la page aspx, kes tu met dans l'imageUrl??
il trouve la miniature en fait..

pwalinett
Messages postés
22
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
28 août 2008

sa y est! sa marche! mercii

pwalinett