Redimensionner une image en C#

DJVince91 Messages postés 4 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 22 janvier 2008 - 22 janv. 2008 à 11:27
Nikoui Messages postés 794 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 19 août 2008 - 22 janv. 2008 à 11:46
Bonjour à tous !
Alors voilà, je cherche à réduire une image en C#. J'ai trouvé des bouts de code sur le net, mais pas très concluant...
J'ai un peu de mal alors je solicite votre aide.
Je ne sais pas comment lui dire de traiter tel image se trouvant à tel endroit du disque dur ?
Voici ce que j'ai fait d'apres ce que j'ai trouvé sur le net.
Dites moi ce qui ne va pas et proposez des modifications au code suivant :






             Image imgPhoto = new Image();
            
             int sourceWidth = imgPhoto.Width;
             int sourceHeight = imgPhoto.Height;
             int sourceX = 0;
             int sourceY = 0;

             int destX = 0;
             int destY = 0;
             int destWidth = 300;
             int destHeight = 110;

             Bitmap bmPhoto = new Bitmap(destWidth, destHeight,PixelFormat.Format24bppRgb);
             bmPhoto.SetResolution(imgPhoto.HorizontalResolution, imgPhoto.VerticalResolution);

             Graphics grPhoto = Graphics.FromImage(bmPhoto);
             grPhoto.InterpolationMode = InterpolationMode.HighQualityBilinear;

             grPhoto.DrawImage(imgPhoto,
                 new Rectangle(destX, destY, destWidth, destHeight),
                 new Rectangle(sourceX, sourceY, sourceWidth, sourceHeight),
                 GraphicsUnit.Pixel);
            
             MemoryStream mm = new MemoryStream();
             bmPhoto.Save(mm, System.Drawing.Imaging.ImageFormat.Jpeg);
            
             grPhoto.Dispose();





Merci de votre aide à tous.

1 réponse

Nikoui Messages postés 794 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 19 août 2008 13
22 janv. 2008 à 11:46
Pour préciser quelle image utiliser comme source, tu peux faire comme ceci :

Remplaces :

Image imgPhoto = new Image();

Par :

Image imgPhoto = Image.FromFile(fileName); // Ou fileName le chemin de ton image, par exemple : string fileName @"c:\temp\myFile.jpg";

PS : Je n'ai pas regarder le reste du code, donc ce n'est pas dit que cela fonctionne du premier coup, mais dans tous les cas il faut bien commencer par préciser quelle image tu veux utiliser comme source.


Working as designed
www.nikoui.fr
0
Rejoignez-nous