/// <summary> /// ColorRefを解決して原色にする /// </summary> /// <param name="cr">原色</param> /// <param name="color">ColorRef</param> /// <returns>ぉ</returns> internal static ぉ ParseColor(I原色 cr, ColorRef color) { var rgb = cr.Lookup(color.Format, color.Color); if (null == rgb) { throw new およよ($"プリセットに見当たらねえ: {color.Color}"); } return(rgb); }
/// <summary> /// XPMの色定義をColorRefにする /// </summary> /// <param name="cr">原色</param> /// <param name="c">種別</param> /// <param name="color">色</param> /// <returns>ColorRef</returns> public static ColorRef ParseColorRef(I原色 cr, string c, string color) { var r = new ColorRef(); switch (c) { case "m": r.Context = 色種別.Mono; break; case "c": r.Context = 色種別.Color; break; case "s": r.Context = 色種別.Symbolic; break; case "g4": r.Context = 色種別.Gray4; break; case "g": r.Context = 色種別.Gray; break; default: throw new およよ($"しらねえフォーマッツ {c}"); } r.Color = color; switch (r.Color[0]) { case '#': r.Format = ColorFormat.RGB; break; case '%': r.Format = ColorFormat.HSV; break; default: r.Format = ColorFormat.Name; break; } try { r.ConvertedColor = ParseColor(cr, r); r.Converted = true; } catch (およよ) { r.Converted = false; } return(r); }
/// <summary> /// トラクター /// </summary> /// <param name="cr">原色</param> public Xbm(I原色 cr) { ColorResolver = cr; }
/// <summary> /// コンストラクター /// </summary> /// <param name="cr">原色</param> public XpmLoader(I原色 cr) { ColorResolver = cr; }
/// <summary> /// コンストラクター /// </summary> public XpmLoader() { ColorResolver = new Fallback原色(); }
/// <summary> /// コン /// </summary> /// <param name="cres">原色</param> public 総天然色(I原色 cres) { colors = null; ColorResolver = cres; }
/// <summary> /// ストラクター /// </summary> /// <param name="cr">原色</param> public PNMLoader(I原色 cr) { ColorResolver = cr; }