Maison >développement back-end >C++ >Comment redimensionner les images en C # pour une haute qualité?
Il n'est pas facile d'ajuster la taille de l'image lors de l'exécution en C #. Bien que ait des propriétés ,
et, le réglage de ces attributs n'ajuste pas la taille de l'image. System.Drawing.Image
Size
Pour ajuster la taille de l'image, vous devez utiliser la nouvelle taille pour créer un nouvel objet Width
et dessiner l'image d'origine vers l'objet. Vous pouvez utiliser le code suivant pour implémenter: Height
Cependant, cette méthode entraînera une baisse de la qualité de l'image. Pour obtenir un zoom de haute qualité, la classe Bitmap
est nécessaire. Comment faire fonctionner l'exemple ci-dessous:
<code class="language-csharp">Bitmap objBitmap = new Bitmap(objImage, new Size(227, 171));</code>
Cette fonction fournit un zoom de haute qualité de la manière suivante: Graphics
<code class="language-csharp">/// <summary> /// 将图像调整为指定宽度和高度。 /// </summary> /// <param name="image">要调整大小的图像。</param> /// <param name="width">要调整到的宽度。</param> /// <param name="height">要调整到的高度。</param> /// <returns>调整大小后的图像。</returns> public static Bitmap ResizeImage(Image image, int width, int height) { var destRect = new Rectangle(0, 0, width, height); var destImage = new Bitmap(width, height); destImage.SetResolution(image.HorizontalResolution, image.VerticalResolution); using (var graphics = Graphics.FromImage(destImage)) { graphics.CompositingMode = CompositingMode.SourceCopy; graphics.CompositingQuality = CompositingQuality.HighQuality; graphics.InterpolationMode = InterpolationMode.HighQualityBicubic; graphics.SmoothingMode = SmoothingMode.HighQuality; graphics.PixelOffsetMode = PixelOffsetMode.HighQuality; using (var wrapMode = new ImageAttributes()) { wrapMode.SetWrapMode(WrapMode.TileFlipXY); graphics.DrawImage(image, destRect, 0, 0, image.Width, image.Height, GraphicsUnit.Pixel, wrapMode); } } return destImage; }</code>Définissez pour
pour éviter de fortes ombres autour de la limite de l'image.
WrapMode
TileFlipXY
Utilisez des paramètres de haute qualité Resolution
et Compositing
Interpolation
Les autres considérations incluent le rapport longitudinal de l'image (réservé aux lecteurs comme exercices), et le piège où l'image zoome sur l'image lors de l'enregistrement de l'image. Smoothing
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!