Foxtable(狐表)用户栏目专家坐堂 → 求助:如何把整个窗口生成一张图片


  共有1918人关注过本帖树形打印复制链接

主题:求助:如何把整个窗口生成一张图片

帅哥哟,离线,有人找我吗?
yys983
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:73 积分:2375 威望:0 精华:0 注册:2016/2/22 11:31:00
求助:如何把整个窗口生成一张图片  发帖心情 Post By:2017/5/2 11:12:00 [只看该作者]

请教大神,狐表能完成窗口图片生产吗?就是把整个独立窗口里面的内容保存为一张图片,包含里面所有控件和窗口背景的内容(窗体标题不需要包含,当然如果一定要包含也可以)。就类似独立窗体的屏幕截图这样的功能,不知道能实现吗?望大神指点。


ps:补充一下,最后是可以后台静默生成,而不是完成真正意义上的屏幕截图,屏幕截图是截取桌面的画面,我的意思是我想单独做一个凭证模板窗口,只要这边我填入数据,就静默运行这个凭证窗口生产一张凭证的图片。。。
希望大神指点~~感谢感谢
[此贴子已经被作者于2017/5/2 11:17:27编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110601 积分:562907 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/5/2 12:03:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/2 12:16:00 [只看该作者]

 2楼的打印,最后你保存成一张图片即可

 

http://www.foxtable.com/webhelp/scr/2450.htm

 

 如果是直接截屏的话,可以这样写

 

Dim point As Point = e.Form.Panel.PointToScreen(e.Form.panel.Bounds.Location)
Dim myGraphics As Graphics = basemainform.CreateGraphics()

Dim s As new Size(e.Form.panel.width, e.Form.panel.height) '截取的大小

Dim bit As New Bitmap(s.Width, s.Height, myGraphics)
Dim memoryGraphics As Graphics = Graphics.FromImage(bit)
memoryGraphics.CopyFromScreen(point.x, point.y, 0, 0, s) '截取的开始位置,坐标(100, 200)

bit.save("e:\test.jpg")


 回到顶部
帅哥哟,离线,有人找我吗?
yys983
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:73 积分:2375 威望:0 精华:0 注册:2016/2/22 11:31:00
  发帖心情 Post By:2017/5/2 12:19:00 [只看该作者]

感谢有点蓝大师,利用你提供的思路,我解决了,刚开始我也想过这个方法,但是就是背景一直保存不出来,刚刚你又说这个方法,然后我想到把背景放到一个面板控件里面去,这样就可以保存包含背景的图片了,感谢感谢,

 回到顶部
帅哥哟,离线,有人找我吗?
yys983
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:73 积分:2375 威望:0 精华:0 注册:2016/2/22 11:31:00
  发帖心情 Post By:2017/5/2 12:21:00 [只看该作者]

对对,多谢有点色老师,就是用这个办法解决了,刚开始就是没办法保存背景图片,只能保存数据,后面加了个控件也解决了。谢谢谢谢

 回到顶部