C#で実行するときに画像サイズを調整するのは簡単ではありません。 には、、
プロパティがありますが、これらの属性の設定は画像サイズを調整しません。
System.Drawing.Image
画像のサイズを調整するには、新しいサイズを使用して新しいSize
オブジェクトを作成し、オブジェクトに元の画像を描画する必要があります。次のコードを使用して実装できます
Width
ただし、この方法は画質の低下につながります。高品質のズームを達成するには、Height
クラスが必要です。以下の例を操作する方法:
Bitmap
この関数は、次の方法で高品質のズームを提供します。
Bitmap objBitmap = new Bitmap(objImage, new Size(227, 171));
Graphics
ターゲット画像を設定して
/// <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; }
high high couretivality
、WrapMode
設定を使用します。 TileFlipXY
Resolution
以上が高品質のためにC#で画像をサイズ変更する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。