创建图层时设置图层透明度出错,是什么原因???
下列代码创建图层时设置图层透明度出错,是什么原因???除去设置透明这行,就没问题。
Database db = HostApplicationServices.WorkingDatabase;
var lockDoc = Application.DocumentManager.MdiActiveDocument.LockDocument();
using (var tr = db.TransactionManager.StartTransaction())
{
var lt = (LayerTable)tr.GetObject(db.LayerTableId, OpenMode.ForWrite);
if (!lt.Has("xxx"))
{
var ltr = new LayerTableRecord
{
Name = "xxx",
Color = Autodesk.AutoCAD.Colors.Color.FromColorIndex(ColorMethod.ByAci, 7),
Transparency = new Transparency(50),
IsPlottable = false
};
lt.UpgradeOpen();
lt.Add(ltr);
tr.AddNewlyCreatedDBObject(ltr, true);
tr.Commit();
}
}
lockDoc.Dispose();出错信息:
Autodesk.AutoCAD.Runtime.Exception: eNoDatabase
在 Autodesk.AutoCAD.DatabaseServices.LayerTableRecord.set_Transparency(Transparency value)
求助:这个设置图层的透明度需要如何设置。
不能直接设置为数值,要用一个char类型的变量做参数,透明度0-100要换算为0-255的char变量就可以了
页:
[1]