2016-12-31 105 views
0

我有一个形象,而我只需要裁剪这如何设置宽度和高度图像C#

  • 比如我的图像的像素为(257,50)
  • 我只是需要(200, 20)那张图片我不需要那张图片的其余部分 我该怎么做?
  • List item
+4

http://stackoverflow.com/questions/734930/how-to-crop-an-image-using-c –

+0

会尝试这个功能你想裁剪它还是只显示它的一部分? –

+0

@TalhaTalipAçıkgöz是 – amir

回答

1

您可以从How to crop/resize image

private Bitmap CropImage(Image originalImage, Rectangle sourceRectangle, 
        Rectangle? destinationRectangle = null) 
    { 
     if (destinationRectangle == null) 
     { 
      destinationRectangle = new Rectangle(Point.Empty, sourceRectangle.Size); 
     } 

     var croppedImage = new Bitmap(destinationRectangle.Value.Width, 
      destinationRectangle.Value.Height); 
     using (var graphics = Graphics.FromImage(croppedImage)) 
     { 
      graphics.DrawImage(originalImage, destinationRectangle.Value, 
       sourceRectangle, GraphicsUnit.Pixel); 
     } 
     return croppedImage; 
    } 

    /// <summary> 
    /// Button click to choose an image and test 
    /// </summary> 
    /// <param name="sender"></param> 
    /// <param name="e"></param> 
    private void btnCrop_Click(object sender, EventArgs e) 
    { 
     OpenFileDialog ofd = new OpenFileDialog(); 
     if (ofd.ShowDialog() == DialogResult.OK) 
     { 
      string imageFile = ofd.FileName; 

      Image img = new Bitmap(imageFile); 
      Rectangle source = new Rectangle(0, 0, 120, 20); 
      Image cropped = CropImage(img, source); 
      // Save cropped image here 
      cropped.Save(Path.GetDirectoryName(imageFile) + "\\croppped." + Path.GetExtension(imageFile)); 
     } 
    } 
相关问题