Foxtable(狐表)用户栏目专家坐堂 → [求助]请教,有没有办法把目录树导出为一个图片或其他可见的文件


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

主题:[求助]请教,有没有办法把目录树导出为一个图片或其他可见的文件

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


加好友 发短信
等级:婴狐 帖子:42 积分:404 威望:0 精华:0 注册:2016/9/8 9:27:00
[求助]请教,有没有办法把目录树导出为一个图片或其他可见的文件  发帖心情 Post By:2017/4/23 16:26:00 [只看该作者]

[求助]请教,有没有办法把目录树导出为一个图片或其他可见的文件

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


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

参考代码

 

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim doc As New PrintDoc '定义一个报表
For Each nd As WinForm.TreeNode In trv.AllNodes
    Dim rt As New prt.RenderText '定义一个文本对象
    rt.Text = "".PadLeft(nd.Level * 8) & nd.Text
    doc.Body.Children.Add(rt) '将文本对象加入到报表
Next
doc.Preview() '预览


 

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

 

[此贴子已经被作者于2017/4/23 16:56:20编辑过]

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


加好友 发短信
等级:婴狐 帖子:42 积分:404 威望:0 精华:0 注册:2016/9/8 9:27:00
  发帖心情 Post By:2017/4/23 20:34:00 [只看该作者]

再请教下,能不能这些连线也打出来吗?
或则,就把显示的目录树当成一张图,可以吗?
[此贴子已经被作者于2017/4/23 20:35:39编辑过]

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


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

可以用截屏的方式,参考

 

Dim trv = e.Form.Controls("Treeview1").BaseControl
Dim point As Point = e.Form.Panel.PointToScreen(trv.Bounds.Location)

Dim myGraphics As Graphics = basemainform.CreateGraphics()

Dim s As new Size(trv.width, trv.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("d:\test.jpg")

bit.dispose

[此贴子已经被作者于2017/5/23 18:10:10编辑过]

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


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

可以用截屏的方式,如果连续截个600张图片,则后来越来越慢。一说明memoryGraphics.在不断地吃内存,没有释放系统资源,且多次连续执行大约200来次就会报GDI 一般性错误。如果优化代码,如何回收系统资源

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


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

忘记了,要注销掉

 

Dim trv = e.Form.Controls("Treeview1").BaseControl
Dim point As Point = e.Form.Panel.PointToScreen(trv.Bounds.Location)
Dim myGraphics As Graphics = basemainform.CreateGraphics()
Dim s As new Size(trv.width, trv.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("d:\test.jpg")
memoryGraphics.dispose
myGraphics.dispose
bit.dispose

[此贴子已经被作者于2017/5/23 18:11:58编辑过]

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


加好友 发短信
等级:幼狐 帖子:157 积分:2001 威望:0 精华:0 注册:2012/5/29 15:35:00
  发帖心情 Post By:2019/10/26 17:22:00 [只看该作者]

大师,我要在程序运行后,截当前窗口为图片,上述代码如何修改?

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


加好友 发短信
等级:超级版主 帖子:110792 积分:563898 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/26 17:41:00 [只看该作者]


Dim point As Point = e.Form.Panel.PointToScreen(new point(e.form.left,e.form.top))
Dim myGraphics As Graphics = basemainform.CreateGraphics()
Dim s As new Size(e.form.width, e.form.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("d:\test.jpg")
memoryGraphics.dispose
myGraphics.dispose
bit.dispose

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2019/10/26 17:44:00 [只看该作者]

截图?目录树过大怎么办?专业报表或者绘图板,遍历、定位、划线生成报表或自动绘图才行!
[此贴子已经被作者于2019/10/26 19:09:13编辑过]

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


加好友 发短信
等级:幼狐 帖子:154 积分:1397 威望:0 精华:0 注册:2019/1/5 16:07:00
  发帖心情 Post By:2019/10/26 18:17:00 [只看该作者]

学习

 回到顶部
总数 14 1 2 下一页