2012-11-04 30 views
-2

我想从整数x,y坐标在C#中裁剪一张图片.. 我只是无法弄清楚如何得到它?裁剪图片,从X,Y获取矩形?

public void doCroppedImage(int pointX, int pointY) 
{ 
    Rectangle cropRect = //??? 
} 
+7

这似乎是因为你还没有写任何代码...... –

+2

什么是'pointX','pointY'? x在loword和y在hiword中的坐标?或者只是同一点的x和y,(0,0)总是另一个点? – GSerg

+5

一点不做矩形。基本几何。请参阅[矩形结构](http://msdn.microsoft.com/en-us/library/system.drawing.rectangle.aspx)。 –

回答

10

您可以使用此代码。它返回裁剪后的图像。

public static Bitmap CropImage(Image source, int x,int y,int width,int height) 
{ 
    Rectangle crop = new Rectangle(x, y, width, height); 

    var bmp = new Bitmap(crop.Width, crop.Height); 
    using (var gr = Graphics.FromImage(bmp)) 
    { 
     gr.DrawImage(source, new Rectangle(0, 0, bmp.Width, bmp.Height), crop, GraphicsUnit.Pixel); 
    } 
    return bmp; 
} 

但一个评论,裁剪你要知道,不仅x和剪切点的y坐标,而且裁剪图像的宽度和高度的图像。