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

时间:2011-09-29 00:05:52

标签: 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.ChangeExtension(imageFilename, "thumb" + Path.GetExtension(imageFilename))));

所有这一切都是拍摄图像,创建缩小1/10大小的缩略图,然后保存。

我希望能够仅从图像的一部分创建缩略图。所以说我的图像是200像素×200像素。如何从图像中间取出100px×100px裁剪,并从中创建缩略图?

1 个答案:

答案 0 :(得分:3)

查看此处的代码以裁剪图像

http://www.bobpowell.net/changing_resolution.htm


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);
  }
}
}