Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 仅从图像的一部分创建缩略图_C#_Asp.net - Fatal编程技术网

C# 仅从图像的一部分创建缩略图

C# 仅从图像的一部分创建缩略图,c#,asp.net,C#,Asp.net,我现在正在创建一个缩略图,如下所示: // create thumbnail and save var image = Image.FromFile(Server.MapPath(imageFilename)); var thumb = image.GetThumbnailImage(image.Width / 10, image.Height / 10, () => false, IntPtr.Zero); thumb.Save(Server.MapPath(Path.ChangeExt

我现在正在创建一个缩略图,如下所示:

// create thumbnail and save
var image = Image.FromFile(Server.MapPath(imageFilename));
var thumb = image.GetThumbnailImage(image.Width / 10, image.Height / 10, () => false, IntPtr.Zero);
thumb.Save(Server.MapPath(Path.ChangeExtension(imageFilename, "thumb" + Path.GetExtension(imageFilename))));
它所做的只是拍摄图像,创建一个十分之一大小的缩略图,然后保存它


我想能够创建出一个缩略图的图像只有一部分。假设我有一个200px乘以200px的图像。如何从图像中间取出一个100px x x 100px的裁剪,并从中创建一个缩略图?

请查看此处用于裁剪图像的代码:


查看此处用于裁剪图像的代码:


@liho1eye这是另一个链接的复制粘贴-目的是剪切图片-此处包含的代码,没有其他内容,或者我也会对命名约定发表评论。遗憾的是,原来的bobpowell dot net网站不见了,原来的作者也不见了。我将你问题中的链接更新为Wayback机器的最新存档,但也许你可以扩展你的答案,使该链接不再需要?@liho1eye这是另一个链接的复制粘贴-目的是剪切此处包含的图像-代码,没有别的,我也不会对命名惯例发表评论。很遗憾,原来的bobpowell dot net网站和原作者都不见了。我已将您问题中的链接更新为Wayback机器的最新存档,但您可以扩展您的答案,以便不再需要该链接?

using(Bitmap bitMap = (Bitmap)Image.FromFile("myimage.jpg")) // assumes a 400 * 300 image from which a 160 * 120 chunk will be taken
{

using(Bitmap cropped = new Bitmap(160,120))
{

  using(Graphics g=Graphics.FromImage(cropped))
  {

    g.DrawImage(bitMap, new Rectangle(0,0,cropped.Width,cropped.Height),100,50,cropped.Width,cropped.Height,GraphicsUnit.Pixel);


    cropped.Save("croppedimage.jpg",ImageFormat.Jpeg);
  }
}
}