我有一个程序,其目标是以数字方式填写纸质表单,用户填写Windows表单,该表单获取所有数据并填写放置在表单的完整大小图像上的文本框。我的目标是让它捕获整个表单,并在其上放置所有值并将其存储为图像。
问题是对于大多数屏幕而言形式是大的,并且它的底部部分离开屏幕,因此当它被捕获时它缺少底部部分。我试过截屏它,目前正在使用以下代码将其直接绘制到位图而没有运气。
using (var bitmap = new Bitmap(this.Width, this.Height))
{
this.DrawToBitmap(bitmap, new Rectangle(0, 0, bitmap.Width, bitmap.Height));
bitmap.Save(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\imagetest.jpeg");
}
我可能会考虑另外一种方法来填写表单,例如捕获剩余部分并将其拼接到顶部,但我觉得他们必须更好地解决它。
有关捕获未绘制的表单的任何建议吗?
答案 0 :(得分:1)
听起来你似乎试图将填写好的表单值封装在表单顶部作为图像背景? (如我错了请纠正我)。这不是最好的方法,你想要做的是让用户填写表单的所有必填字段,当他们点击提交按钮时,将所有表单值保存为字符串。
然后,您希望以Bitmap
对象的形式将表单图像加载到内存中。然后使用DrawString
方法从表单中的内容中的图像上的正确x,y坐标处绘制字符串。