xgr 发表于 2019-1-21 17:32:07

创建图层时设置图层透明度出错,是什么原因???

下列代码创建图层时设置图层透明度出错,是什么原因???
除去设置透明这行,就没问题。
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)


求助:这个设置图层的透明度需要如何设置。

poly168 发表于 2019-12-8 06:31:47

不能直接设置为数值,要用一个char类型的变量做参数,透明度0-100要换算为0-255的char变量就可以了
页: [1]
查看完整版本: 创建图层时设置图层透明度出错,是什么原因???