Image redimentionnement

cs_arzaz Messages postés 1 Date d'inscription vendredi 19 août 2005 Statut Membre Dernière intervention 23 mars 2009 - 23 mars 2009 à 00:06
cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 - 28 mars 2009 à 10:03
Bonsoir a tous,
je posséde une image qui fait 1cm² que je voudrai bien redimmentionner au moins a 5 ou 8cm
comment faire svp.

merci d'avance

1 réponse

cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
28 mars 2009 à 10:03
Bonjour,

Tout dépend ou tu veux dessiner ton image, par exemple les controles acceptant des background images ont également une prompriété pour la redimentionner (BackgroundImageLayout=Strech), donc si tu utilise un Panel de 5cm et que tu y pose l'image comme image de fond elle sera automatiquement redimentionée.

si tu veux la dessiner par toi même, il faut utiliser les objects graphiques:
ex

Image baseImage; // c'est l'image de départ
Rectangle rect = new Rectangle (0,0, largeur, hauteur); // definition du rectangle récuperant l'image finale
Bitmap bmpNew = new Bitmap(rect.Width , rect.Height , PixelFormat.Format32bppPArgb);  // définition d'un bitmap vide
Graphics grph = Graphics.FromImage(bmpNew);  //récuperation de l'objet graphique

//dessin de l'image d'origine avec les nouvelles dimentions
grph.DrawImage(baseImage, 
   new Rectangle(rect.Left, rect.Top, rect.Width, rect.Height ), //Destination
   new Rectangle(0, 0, baseImage.Width, baseImage.height),  //Source
   GraphicsUnit.Pixel);

// le  bitmap bmpNew est maintenant disponible pour être utilisé.

note que tu peux dessiner cette image directement sur la form, ou un panel.
utilise la method Paint de la form, ou du Panel, et dessine directement sur son handle graphic
ex

private void panel1_Paint(object sender, PaintEventArgs e)
{
Graphics grph = e.Graphics;
//dans ce cas pas besoin de creer le Bitmap , si non le code est le même qu'au dessus
...
}

C# is amazing, enjoy it!
0
Rejoignez-nous