namespace Yw.WpfUI.Hydro { /// /// 抽象材质辅助类 /// internal class LogicalMaterialHelper { //缓存 private readonly ConcurrentDictionary _cache = new(); /// /// 获取纯色材质 /// public Material GetMaterial(Color color) { var material = _cache.GetOrAdd(color, CreateMaterial(color)); return material; } /// /// 获取纯色材质 /// public Material GetMaterial(Color color, double opacity) { var color1 = Color.FromArgb((byte)(opacity * 255.0), color.R, color.G, color.B); return GetMaterial(color1); } /// /// 获取纯色材质 /// public Material GetMaterial(string htmlColor) { var color = htmlColor.ToMediaColor(); return GetMaterial(color); } /// /// 获取纯色材质 /// public Material GetMaterial(string htmlColor, double opacity) { var color = htmlColor.ToMediaColor(); return GetMaterial(color, opacity); } //创建纯色材质 private static Material CreateMaterial(Color color) { return MaterialHelper.CreateMaterial(color); } } }