主要代码如下
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");
}
没有问题吧?但是却不能截全图!。。。如下:
就很奇怪。。。想不通。。。想啊想啊。。。突然发现在电脑桌面右键显示设置里有这么一个东西——缩放与布局。。。如下:
把“更改文本、应用等项目的大小”更改为“100%”后,好了,解决问题了。。。能够截全图了。。。如下:
所以新的问题就来了。。。当没有更改“文本、应用等项目的大小”时,该如何编写代码解决这个问题呢?
还发现一个新的问题,更改了这个值以后,微信的截图功能就变成了这样:
整个截屏被缩小了。。。