以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 请高手指点:如何在PICTUREBOX中显示*.dwg图形文件 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=8623) |
-- 作者:唐尸三摆手 -- 发布时间:2010/11/18 11:48:00 -- 请高手指点:如何在PICTUREBOX中显示*.dwg图形文件 如题 [此贴子已经被作者于2010-11-18 11:48:42编辑过]
|
-- 作者:唐尸三摆手 -- 发布时间:2010/11/18 14:13:00 -- 在网上搜到这么一段: 为了找一个合适的预览DWG文件的控件,不知道搜索了多少次,都没有满意的结果,R2002自带的控件无法预览R2004格式的文件,最近花了几天时间,终于解决了这个困扰好久了难题,直接从DWG文件中提取位图放在PictureBox中预览。唯一留下的遗憾是当文件被其它进程打开时,会导致程序返回速度太慢,不知道各位是否有好的方法解决这一问题(或是有什么办法可以强行打开正被其它进程打开的文件)。现将代码及注释贴出来,要知道我是刚学VB.Net的,而且纯属业余爱好。 Private Structure BITMAPFILEHEADER Public Function GetDwgImage(ByVal FileName As String) As Image TypePreview = br.ReadByte \'第31字节为缩略图格式信息,2 为BMP格式,3为WMF格式 Case 2, 3
myImg = Image.FromStream(BMPF) \'创建位图文件对象 这个程序涉及到了DWG文件的内部格式。编出来的人很了不起。
各位高手帮忙看看,是否能够在foxtable中借用上,谢了 |
-- 作者:狐狸爸爸 -- 发布时间:2010/11/18 15:05:00 -- 我帮你改了一下,复制到全局代码中用:
Private Structure BITMAPFILEHEADER Public Function GetDwgImage(ByVal FileName As String) As Image TypePreview = br.ReadByte \'第31字节为缩略图格式信息,2 为BMP格式,3为WMF格式 Case 2, 3
myImg = Image.FromStream(BMPF) \'创建位图文件对象 |
-- 作者:唐尸三摆手 -- 发布时间:2010/11/18 15:21:00 -- 如果这样能行的话,我们就可以制作图纸管理系统了,相信很多企业都会遇到这种情况的 |
-- 作者:唐尸三摆手 -- 发布时间:2010/11/18 15:31:00 -- 如何调用啊,真是挠头 |
-- 作者:狐狸爸爸 -- 发布时间:2010/11/18 15:38:00 -- 复制到全局代码,以后就可以:
Dim pb As Winfrom.PictureBox = forms("XXX").Controls("YYY") pb.Image = GetDwgImage("dwg文件,包括路径") |
-- 作者:唐尸三摆手 -- 发布时间:2010/11/18 16:05:00 --
老大,这样是不是就意味着我们可以用foxtable来管理图纸了? |
-- 作者:狐狸爸爸 -- 发布时间:2010/11/18 16:06:00 -- 呵呵,既然都显示出来了,应该就是的了。 |
-- 作者:程兴刚 -- 发布时间:2010/11/19 0:42:00 -- 这个要收藏!
不过,我有点贪心,一直期盼能直接支持.dwg格式,包括他的可编辑属性! |
-- 作者:方沈 -- 发布时间:2012/11/30 12:19:00 -- 支持增加PDF,CAD |