以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何将窗口的内容直接转存成图片  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=115080)

--  作者:凡夫俗子
--  发布时间:2018/2/28 17:24:00
--  如何将窗口的内容直接转存成图片
窗口加了一个背景图,再在窗口里添加了标签文字 二维码,但调用窗口直接打印只打印 背景图,其它内容不打印是何故

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

--  作者:有点甜
--  发布时间:2018/2/28 17:29:00
--  

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

 

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

 

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

 

 


--  作者:凡夫俗子
--  发布时间:2018/2/28 18:01:00
--  
请看一下附件,怎么打印 啥也没有
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:工作证制作.foxdb


--  作者:有点甜
--  发布时间:2018/2/28 18:19:00
--  

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

 

 

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


--  作者:凡夫俗子
--  发布时间: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编辑过]

--  作者:有点甜
--  发布时间: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

 


--  作者:凡夫俗子
--  发布时间: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

--  作者:有点甜
--  发布时间: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