使用c#调整图像大小

Liq*_*ore 0 c# resize image graphic

在 C# 中调整图像文件的大小,至少使用常用的图像文件(bmp、jpg 等)

我发现了很多片段,但不是一个真正完整的片段。所以我要再问一次,谁来这里可能会使用完整的文件:

这只是输出一个具有相同宽度和高度的文件。

using System;
using System.Drawing;
using System.Drawing.Drawing2D;

namespace PicResize
{
    class Program
    {
        static void Main(string[] args)
        {
            ResizeImage(0, 0, 200, 200);
        }

        public static void ResizeImage(int X1, int Y1, int Width, int Height)
        {

            string fileName = @"C:\testimage.jpg";
            using (Image image = Image.FromFile(fileName))
            {
                using (Graphics graphic = Graphics.FromImage(image))
                {
                    // Crop and resize the image.
                    Rectangle destination = new Rectangle(0, 0, Width, Height);
                    graphic.DrawImage(image, destination, X1, Y1, Width, Height, GraphicsUnit.Pixel);
                }
                image.Save(@"C:\testimagea.jpg");
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

那么,既然没有好的例子,那么这是如何工作的呢?我这里需要修复什么?

谢谢

ter*_*zio 6

你可以这样做:

        public void ResizeImage(string fileName, int width, int height)
        {
            using (Image image = Image.FromFile(fileName))
            {
                new Bitmap(image, width, height).Save(fileName);
            }
        }
Run Code Online (Sandbox Code Playgroud)

如果它是一个新文件,只需替换为此文件或您选择的自定义路径:

new Bitmap(image, width, height).Save(fileName.Insert(fileName.LastIndexOf('.'),"A"));
Run Code Online (Sandbox Code Playgroud)