需要帮助获取鼠标C#的偏移位置我的截图功能

时间:2017-10-06 16:42:28

标签: c# bitmap display

所以我到目前为止。此函数截取我的光标当前所在的屏幕截图。

`public Bitmap Screenshot()
    {
        Bitmap Bscreenshot = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
        //creates a graphics object for drawing the screen in the bitmap
        Graphics g = Graphics.FromImage(Bscreenshot);
        g.CopyFromScreen(Cursor.Position.X, Cursor.Position.Y, 0, 0, new Size(455, 375));
        return Bscreenshot;
    }`

the new Size(455, 375));只是我的表单的大小,所以位图填充整个表单。我还有一个功能,当我按下LeftCtrl时,它会运行另一个显示背景的线程,而我按下按钮。它会截取我屏幕上的内容。它没有将它本地化为我希望这种行为的形式。

`void BckG_func()
        {
            Bitmap bmpscreenshot = Screenshot();
            this.BackgroundImage = bmpscreenshot;
            return;
        }`

但是我想要做的是让位图在窗体的中心显示鼠标的中心。现在它在窗体的最左边显示我的光标位置。我试图让它将鼠标中心对准中心。当我尝试调整任何定位值时,它会完全切割位图的大小。任何帮助表示赞赏。永远是。感谢。

1 个答案:

答案 0 :(得分:0)

<强>改变

(g.CopyFromScreen(Cursor.Position.X, Cursor.Position.Y, 0, 0, new Size(455, 375));

g.CopyFromScreen(Cursor.Position.X - ClientSize.Width/2, Cursor.Position.Y - ClientSize.Height/2, 0, 0, new Size(ClientSize.Width, ClientSize.Height));

在对位图进行greyspacing之前。现在它有效。解决了&lt; 3