我正在尝试使用CopyFromScreen捕获屏幕截图。但是方法签名对我来说有点混乱。
看起来像这样:
public void CopyFromScreen(
Point upperLeftSource,
Point upperLeftDestination,
Size blockRegionSize
)
为什么有3个参数而不是2个?为什么还有upperLeftCorner。根据我的理解,您可以使用两个点(左上角和右下角)描述表面上的方形区域。这可以描述任何大小和任何位置的区域。
所以问题是:如何使用此方法捕获表示的区域:(X0,Y0)(X1,Y1)?
答案 0 :(得分:2)
upperLeftDestination
参数告诉您图像在哪里绘制副本
您可能希望它为0, 0
。
答案 1 :(得分:2)
upperLeftDestination是新图片中要放置已复制图像的位置。
从屏幕左上角开始从屏幕复制50x50的方块:
graphics.CopyFromScreen(new Point(0,0), new Point(0, 0), new Size(50, 50));
从(100,100)开始从屏幕复制50x50的方块:
graphics.CopyFromScreen(new Point(100, 100), new Point(0, 0), new Size(50, 50));
要将屏幕左上方的50x50正方形复制到60x60的图像中,并在所有边上为其提供5px的均匀边框:
graphics.CopyFromScreen(new Point(0, 0), new Point(5, 5), new Size(50, 50));