Foxtable(狐表)用户栏目专家坐堂 → 如何将窗口的内容直接转存成图片


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

主题:如何将窗口的内容直接转存成图片

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


加好友 发短信
等级:一尾狐 帖子:457 积分:3523 威望:0 精华:0 注册:2016/1/22 18:17:00
如何将窗口的内容直接转存成图片  发帖心情 Post By:2018/2/28 17:24:00 [只看该作者]

窗口加了一个背景图,再在窗口里添加了标签文字 二维码,但调用窗口直接打印只打印 背景图,其它内容不打印是何故

另如何将窗口内预览内容直接输出为图片

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/28 17:29:00 [只看该作者]

你的背景图是一个picturebox?如果是,尽量改成panel。

 

然后打印容器 http://www.foxtable.com/webhelp/scr/2437.htm

 

报表另存为图片,参考 http://www.foxtable.com/webhelp/scr/2450.htm

 

 


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


加好友 发短信
等级:一尾狐 帖子:457 积分:3523 威望:0 精华:0 注册:2016/1/22 18:17:00
  发帖心情 Post By:2018/2/28 18:01:00 [只看该作者]

请看一下附件,怎么打印 啥也没有
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:工作证制作.foxdb


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/28 18:19:00 [只看该作者]

只能打印一层容器的,picturebox2、label必须属于panel,不能属于picturebox(移动控件要用ctrl+方向键移动)

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:desktop.zip


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


加好友 发短信
等级:一尾狐 帖子:457 积分:3523 威望:0 精华:0 注册:2016/1/22 18:17:00
  发帖心情 Post By:2018/2/28 18:59:00 [只看该作者]

谢谢
原来关键是只能打印一层容器的,帮助里应该说明的,不然谁知道呢。
移动控件要用ctrl+方向键移动 这样操作很不方便。如果非要这样,官方应该增加一个开关,控件不自动捕捉容器,不自动转入容器内。

或者选择,然后脱离容器。

另问题1:如何设置确保 panel1打印出来的内容宽度为8.2*4.6CM
Dim grp  = e.Form.Controls("panel1")
Dim doc As PrintDoc = e.Form.GernatePrintDoc(grp)
doc.Preview()

另问题2:如何把panel1内的内容输出另存为图片?
[此贴子已经被作者于2018/2/28 19:09:20编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/28 21:37:00 [只看该作者]

1、你设置好panel1的宽高(等于你背景图片的宽高),如

 

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

 

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

 

2、参考 http://www.foxtable.com/webhelp/scr/2450.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
凡夫俗子
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:457 积分:3523 威望:0 精华:0 注册:2016/1/22 18:17:00
  发帖心情 Post By:2018/3/1 8:31:00 [只看该作者]

2没能完成
请问如何仿照这段代码将panel1控件里的内容另存为图片

Dim imgback As image = getimage("g:\底图.jpg")
Dim bmp As new bitmap(imgback.width, imgback.height)
Dim g = graphics.fromimage(bmp)
g.DrawImage(imgback, 0, 0, imgback.Width, imgback.Height)
Dim img = getimage("g:\头像.jpg")
Dim x As Integer = 177
Dim y As Integer = 150
Dim w As Integer = 192
Dim h As Integer = 238
g.DrawImage(img, x, y, w, h)
Dim fnt As New Font("宋体",16)
Dim msg As String = "foxtable"
g.DrawString(msg,fnt,Brushes.Red,278,422)
bmp.Save("g:\test02.jpg", ImageFormat.Jpeg)
bmp.dispose

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/1 8:56:00 [只看该作者]

Dim pic1 As winform.picturebox = e.form.controls("picturebox1")
Dim imgback As image = pic1.image
Dim bmp As new bitmap(pic1.width, pic1.height)
Dim g = graphics.fromimage(bmp)
g.DrawImage(imgback, 0, 0, pic1.Width, pic1.Height)
Dim pic2 = e.form.controls("picturebox2")
Dim img = pic2.image
Dim x As Integer = pic2.left
Dim y As Integer = pic2.Top
Dim w As Integer = pic2.width
Dim h As Integer = pic2.height
g.DrawImage(img, x, y, w, h)
Dim fnt As New Font("宋体",16)
Dim lbl1 = e.Form.controls("label1")
Dim msg As String = lbl1.text
g.DrawString(msg,fnt,Brushes.Red,lbl1.left,lbl1.top)
Dim lbl2 = e.Form.controls("label2")
msg = lbl2.text
g.DrawString(msg,fnt,Brushes.Red,lbl2.left,lbl2.top)
bmp.Save("d:\test02.jpg", ImageFormat.Jpeg)
bmp.dispose

 回到顶部