用C#WinFrom写一个截取全屏的功能遇到截不全屏幕的问题

        主要代码如下

        private Size ScreenSize { get { return Screen.PrimaryScreen.Bounds.Size; } }//获取主屏幕的分辨率嘛
        private void button2_Click(object sender, EventArgs e)//按键截取当前图嘛
        {
            Bitmap CatchBmp = new Bitmap(ScreenSize.Width, ScreenSize.Height);
            Graphics _Graphics = Graphics.FromImage(CatchBmp);
            _Graphics.CopyFromScreen(new Point(0, 0), new Point(0, 0), ScreenSize);
            //Bitmap CatchBmp = new Bitmap(Screen.AllScreens[0].Bounds.Width, Screen.AllScreens[0].Bounds.Height);//
            //Graphics g = Graphics.FromImage(CatchBmp);//
            //_Graphics.CopyFromScreen(new Point(0, 0), new Point(0, 0), new Size(Screen.AllScreens[0].Bounds.Width, Screen.AllScreens[0].Bounds.Height));//
            _Graphics.CopyFromScreen(new Point(0, 0), new Point(0, 0), ScreenSize);
            pictureBox.Image = CatchBmp;
            CatchBmp.Save(@"C:\Users\SSSSSakuraZ\Desktop\QQ截图工具\1.jpg");
        }

没有问题吧?但是却不能截全图!。。。如下:

用C#WinFrom写一个截取全屏的功能遇到截不全屏幕的问题_第1张图片

就很奇怪。。。想不通。。。想啊想啊。。。突然发现在电脑桌面右键显示设置里有这么一个东西——缩放与布局。。。如下:

用C#WinFrom写一个截取全屏的功能遇到截不全屏幕的问题_第2张图片

把“更改文本、应用等项目的大小”更改为“100%”后,好了,解决问题了。。。能够截全图了。。。如下:

用C#WinFrom写一个截取全屏的功能遇到截不全屏幕的问题_第3张图片

所以新的问题就来了。。。当没有更改“文本、应用等项目的大小”时,该如何编写代码解决这个问题呢?

还发现一个新的问题,更改了这个值以后,微信的截图功能就变成了这样:

用C#WinFrom写一个截取全屏的功能遇到截不全屏幕的问题_第4张图片

 整个截屏被缩小了。。。

你可能感兴趣的:(用C#WinFrom写一个截取全屏的功能遇到截不全屏幕的问题)