首页 > 解决方案 > C# 表单大小不匹配

问题描述

我有我设置的 ac# 表单

int INTERFACE_right = 20;
int INTERFACE_down = 25;
int INTERFACE_width = 846;
int INTERFACE_height = 60;

this.Left = INTERFACE_right;
this.Top = INTERFACE_down;
this.Size = new Size(INTERFACE_width, INTERFACE_height);

我用完全相同的参数复制屏幕的一部分(我用不透明度隐藏了之前的表单)。所以表格应该正好在我复制的屏幕部分的顶部:

Bitmap grabOnScreen(){
Rectangle rect = new Rectangle(INTERFACE_right, INTERFACE_down, INTERFACE_width, INTERFACE_height);
Bitmap bmp = new Bitmap(rect.Width, rect.Height, PixelFormat.Format32bppArgb);
Graphics g = Graphics.FromImage(bmp);
g.CopyFromScreen(rect.Left, rect.Top, 0, 0, bmp.Size, CopyPixelOperation.SourceCopy);
//bmp.Save("test.jpg", ImageFormat.Jpeg);
return bmp;
}

当我将图像保存到 时test.jpg,我知道我以正确的尺寸等抓住了屏幕的大部分。

表格的大小和位置应该与我抓取图片的位置相同,但实际上表格比图片大,但位置很好。

如何将表单大小匹配到与我抓取图片的矩形相同?

标签: c#winforms

解决方案


推荐阅读