neyton 发表于 2016-3-3 13:24:24

bricscad 2016 64位插入图像

我尝试实现以下代码:
http://adndevblog.typepad.com/autocad/2012/05/how-to-insert-a-rasterimage-using-the-net-api.html
在AutoCAD上,工作正常。
但是,在bricscad 2016上64位...
**** Hidden Message *****

neyton 发表于 2016-3-4 21:33:33

它可以工作,
有一个顺序问题,我认为您需要在
ImageDef=New RasterImageDef()
之后将数据库默认设置为ImageDef或移动
ImageDefId=imageDict.SetAt
ImageDef=New RasterImageDef()之后

neyton 发表于 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。
结束使用。
结束子。
页: [1]
查看完整版本: bricscad 2016 64位插入图像