乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 41|回复: 2

bricscad 2016 64位插入图像

[复制链接]

9

主题

30

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
66
发表于 2016-3-3 13:24:24 | 显示全部楼层 |阅读模式
我尝试实现以下代码:
http://adndevblog.typepad.com/autocad/2012/05/how-to-insert-a-rasterimage-using-the-net-api.html
在AutoCAD上,工作正常。
但是,在bricscad 2016上64位...

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

9

主题

30

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
66
发表于 2016-3-4 21:33:33 | 显示全部楼层
它可以工作,
有一个顺序问题,我认为您需要在
ImageDef=New RasterImageDef()
之后将数据库默认设置为ImageDef或移动
ImageDefId=imageDict.SetAt
ImageDef=New RasterImageDef()之后
回复

使用道具 举报

9

主题

30

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
66
发表于 2016-3-7 12:46:46 | 显示全部楼层
嗨,工作,但如果旋转图像,它不显示:。
公共子测试()。
将opf调暗为新的OpenFileDialog。
opf.Filter="JPG|*. jpg"。
如果opf.ShowDialogDialogResult.OK则退出Sub。

弱化pprIns=ED.GetPoint(vbNewLine&"插入点")。
如果pprIns.StatusPromptStatus.OK则退出Sub。

调暗ppoX作为新的提示点选项(vbNewLine&"x向量")。
ppoX.UseBasePoint。
ppoX.BasePointpprIns.Value。
昏暗的pprX=ED.GetPoint(ppoX)。
如果pprX.StatusPromptStatus.OK则退出Sub。


Dim ppoY As New PromptPointOptions(vbNewLine&"y向量")。
ppoY.UseBasePoint。
ppoY.BasePointpprIns.Value。
调暗pprY=ED.GetPoint(ppoY)。
如果pprY.StatusPromptStatus.OK则退出Sub。

昏暗文档=DocumentManager.MdiActiveDocument。

使用trans作为事务=doc.TransactionManager.StartTransaction。

Dim ImageDictId As ObjectId=RasterImageDef.GetImageDictionary(DB)。

如果imageDictId.IsNull,则ImageDictId=RasterImageDef.CreateImageDictionary(DB)。

暗淡的命令名作为字符串=新文件信息(opf.FileName),名称。
昏暗的ImageDef作为RasterImageDef。
将ImageDefId调暗为ObjectId。

昏暗的图像作为DBDicpedia=imageDictId.GetObject(ForWrit)。

如果imageDict.Contains,那么。
ImageDefId=imageDict.GetAt名称。
ImageDef=trans.GetObject(ImageDefId, ForWrit)。
其他。
imageDict.UpgradeOpen。
ImageDef=新的RasterImageDef()。
ImageDefId=imageDict.SetAt名称,ImageDef)。
imageDef.SourceFileNameopf.FileName。
imageDef.Load。
trans.AddNewlyCreatedDBObject(ImageDef,True)。
结束如果。

昏暗的图像作为新的光栅图像()。
image.ImageDefId=ImageDefId。

image.Orientation=新坐标System3d(pprIns.Value,pprIns.Value.GetVectorTo(pprX.Value),pprIns.Value.GetVectorTo(pprY.Value))。

'image.ImageTransparency=真。
#如果不是(CAD_2007或GSTAR或ZwCAD)那么。
image.ShowImage。
#结束如果。

Dim bt As BlockTable=trans.GetObject(DB.BlockTableId, ForRead)。
将btr设置为BlockTableRecords=trans.GetObject(bt(BlockTableRecord.ModelSpace), ForWrit)。
btr.AppendEntity(图片)。
trans.AddNewlyCreatedDBObject(图片,真实)。

#如果不是(GSTAR或ZWCAD或BRCAD)那么。
RasterImage.EnableReactors(真)。
#结束如果。

#如果不是ZWCAD那么。
image.AssociateRasterDef(ImageDef)。
#结束如果。

trans.Commit。
结束使用。
结束子。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-4 18:51 , Processed in 0.174104 second(s), 58 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表