[C#]Redimmensionner une image

Redimmensionner une image [C#] - C#/.NET managed - Programmation

Marsh Posté le 25-02-2007 à 06:16:41    

Hello,
 
Je cherche à redimensionner une image en c#.
 
J'ai voulu changer directement la taille de l'objet Image
fournit dans System.drawing mais ce n'est qu'en lecture
seule.
 
J'ai ensuite voulu passer par la classe Bitmap mais impossible
d'obtenir public Bitmap(System.Drawing.Image original, System.Drawing.Size newSize)
depuis la classe Bitmap mais j'arrive pas à accéder au classe non static (là c'est parceque
je suis un peu rouillé)
 
Bref tout ça pour dire que je ne sais pas quelle est la bonne solution pour redimensionner une image
sans qu'elle soit zoomée, un petit coup de pouce serai le bienvenu.....

Reply

Marsh Posté le 25-02-2007 à 06:16:41   

Reply

Marsh Posté le 25-02-2007 à 16:38:52    

Voila,

 

a toi d'adapter

 
Code :
  1. private static Image ScaleByPercent(Image imgPhoto, int Percent)
  2.         {
  3.             float nPercent = ((float)Percent / 100);
  4.             int sourceWidth = imgPhoto.Width;
  5.             int sourceHeight = imgPhoto.Height;
  6.             int sourceX = 0;
  7.             int sourceY = 0;
  8.             int destX = 0;
  9.             int destY = 0;
  10.             int destWidth = (int)(sourceWidth * nPercent);
  11.             int destHeight = (int)(sourceHeight * nPercent);
  12.             Bitmap bmPhoto = new Bitmap(destWidth, destHeight,
  13.                                      PixelFormat.Format24bppRgb);
  14.             bmPhoto.SetResolution(imgPhoto.HorizontalResolution,
  15.                                     imgPhoto.VerticalResolution);
  16.             Graphics grPhoto = Graphics.FromImage(bmPhoto);
  17.             grPhoto.InterpolationMode = InterpolationMode.HighQualityBilinear;
  18.             grPhoto.DrawImage(imgPhoto,
  19.                 new Rectangle(destX, destY, destWidth, destHeight),
  20.                 new Rectangle(sourceX, sourceY, sourceWidth, sourceHeight),
  21.                 GraphicsUnit.Pixel);
  22.             grPhoto.Dispose();
  23.             return bmPhoto;
  24.         }
 

Reply

Marsh Posté le 26-02-2007 à 02:10:22    

merci Koyomi pour ta source,
J'ai réussi hier en utilisant ce lien http://www.peterprovost.org/archiv [...] /516.aspx.
 
En tout cas je vais regardé car le pourcentage est ce que je 'utilise
donc je vais le comparer à ma méthode.
 
Encore merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed