代码添加光栅图片 - 精华帖集合
www.dimcax.com
代码添加光栅图片
//添加光栅图片
private void addimage(database db,string filename)
{
transactionmanager tm = db.transactionmanager;
transaction tr = tm.starttransaction();
try
{
blocktable bt = (blocktable)(tm.getobject(db.blocktableid, openmode.forread, false));
blocktablerecord btr = (blocktablerecord)(tm.getobject(bt[blocktablerecord.modelspace], openmode.forwrite, false));
objectid imgdictid = rasterimagedef.getimagedictionary(db);
imgdictid = rasterimagedef.createimagedictionary(db);
rasterimagedef rimg = new rasterimagedef();
rimg.sourcefilename = filename;//图片文件路径
rimg.load();
rimg.imagemodified = true;
rimg.resolutionunits = unit.meter;
objectid imgid = rasterimagedef.getimagedictionary(db);
dbdictionary imgdict = (dbdictionary)tm.getobject(imgdictid, openmode.forwrite);
objectid rasterimgdefid;
rasterimgdefid = imgdict.setat("图纸条码", rimg);
tm.addnewlycreateddbobject(rimg, true);
rasterimage rstimg = new rasterimage();
rstimg.imagedefid = rimg.objectid;
//指定原点,宽高
rstimg.orientation = new coordinatesystem3d(new point3d(0, 0, 0), new vector3d(564, 0, 0), new vector3d(0, 90, 0));
btr.appendentity(rstimg);
tm.addnewlycreateddbobject(rstimg, true);
tr.commit();
rimg.dispose();
rstimg.dispose();
}
catch (system.exception e)
{
}
finally
{
tr.dispose();
}
}
复制代码