开发者

Working With System.Drawing.Region

I've made a test WindowForm application that takes a snapshot of the window by it's boundaries. But I can't seem to give GetBounds() what it needs. He wants graphics but it already contains the bounds, I just want his point and size:

private void CaptureBtn_Click(object sender, EventArgs e)
{
    Region region = GetRegionByHWnd(Ge开发者_StackOverflow社区tForegroundWindow());

    Rectangle rectangle = new Rectangle(
                                        region.GetBounds().Location,
                                        region.GetBounds().Size);

    CaptureImage(rectangle.Location, Point.Empty, rectangle.Size);
}

Did that problem occur to anyone before, or knows how to fix it?


For getBound some windows for you can use ClientRectangle property , This property returns bound form and this dll (ScreenCaptureLib.dll) helps you for getImage in the desktop.

http://www.codeproject.com/script/Articles/ViewDownloads.aspx?aid=19415


First, Region implements IDisposable, so you should be wrapping it in a using statement or calling Dispose when you done with it.

Other than that we will need to see your code for GetRegionByHWnd and CaptureImage. Do you really even need that code at all? Why won't someWindow.Bounds work for you?


Perhaps that helps: RECTANGLE

I don't know your methods like captureimage. But Perhaps you need the relative position to the control? Point to Client / Point to Screen

If not, please tell the data you expect to get and what you receive.

Also take a lookt to the RECT MSDN type instead of the Rectangle type.

Some good articles are here:

http://www.codeguru.com/csharp/csharp/cs_graphics/screencaptures/article.php/c6139

http://cid-32fd2eb6551ddb56.office.live.com/self.aspx/.Public/CaptureWindow.rar?sa=170500830

http://winapi.freetechsecrets.com/win32/WIN32Capturing_an_Image.htm

Regards

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜