正确剪裁C#中的图像并将其缩放到1024 x 768分辨率

时间:2016-12-29 19:17:04

标签: c# asp.net image webforms crop

我在.NET应用程序中设置了一个功能,我将4个值传递给代码,如下所示:

X1 - X axis value
Y1 - Y axis value
W1 - selected width  
H1 - Represents the selected height of the image

我试图实现一项功能,让我可以像下面那样进行裁剪。这是输入图像,例如:

enter image description here

所需的输出如下:

enter image description here

红色矩形表示裁剪区域。

我使用的代码如下:

  Rectangle cropRect = new Rectangle(Convert.ToInt32(X1.Value), Convert.ToInt32(Y1.Value), Convert.ToInt32(W1.Value), Convert.ToInt32(H1.Value));
                Bitmap src = System.Drawing.Image.FromStream(FileUpload1.PostedFile.InputStream) as Bitmap;
                Bitmap target = new Bitmap(cropRect.Width, cropRect.Height);

                using (Graphics g = Graphics.FromImage(target))
                {
                    g.DrawImage(src, new Rectangle(0, 0, target.Width, target.Height),
                                     cropRect,
                                     GraphicsUnit.Pixel);
                    src.Save(Server.MapPath("/users/images/") + fileName);

                }

但是这对图像没有任何作用,只是保存了我上传的内容......我在这里做错了什么?

编辑:这是targer.Save();

的样子

enter image description here

它远不是我想要的那样:/

1 个答案:

答案 0 :(得分:0)

当您想要调用target.Save时,您似乎正在调用src.Save。