屏幕截图实现的大体思想是:发起截图时,将当前窗口的图像保存到内存中,然后弹出一个置顶的全屏窗口,将保存的桌面图片绘制到这个全屏窗口上;初始时绘制的是灰化的桌面图像,选择截图区域后,则将选中的区域绘制成亮色图像;然后可以在截取的区域中可以进行矩形、椭圆、箭头直线、曲线等的绘制,可以输入文字进行标注。
屏幕截图的具体功能描述如下:
1、实现了“捕捉不到”的提示框窗口,主要针对当前所处截图状态给出相关的操作提示;
2、实现了发起截图后的窗口的自动套索,支持对窗口和子控件的自动套索,支持显示自动套索区域的大小;
3、通过拖动鼠标实现截图区域的选择,即通过橡皮筋框选中截图区域;
4、实现了鼠标所指区域的区域放大效果,支持显示当前鼠标点的RGB值;
5、实现了在已截取区域中的矩形绘制、椭圆绘制、箭头直线绘制、曲线绘制、输入文字等操作,支持回撤、另存为图片、将截取图片写到剪切板中等功能;
6、除了支持拖动橡皮筋的边界上的八个点调整橡皮筋框的大小和移动橡皮筋框外,还支持通过键盘上的上下左右方向键来对橡皮筋的位置进行微调;