public DDSControl(Stream s) : base(s) { if (s == null || s == Stream.Null) return; resStream = s; ddsPanel1 = new DDSPanel() { Fit = true, Channel1 = channel1, Channel2 = channel2, Channel3 = channel3, Channel4 = channel4, InvertCh4 = invertch4, Margin = new Padding(3), }; ddsPanel1.Channel1Changed += (sn, e) => channel1 = ddsPanel1.Channel1; ddsPanel1.Channel2Changed += (sn, e) => channel2 = ddsPanel1.Channel2; ddsPanel1.Channel3Changed += (sn, e) => channel3 = ddsPanel1.Channel3; ddsPanel1.Channel4Changed += (sn, e) => channel4 = ddsPanel1.Channel4; ddsPanel1.InvertCh4Changed += (sn, e) => invertch4 = ddsPanel1.InvertCh4; ddsPanel1.DDSLoad(resStream); }
public DDSControl(Stream s) : base(s) { if (s == null || s == Stream.Null) return; resStream = s; if (s == null || s.Length == 0) return; s.Position = 0; RLEResource.RLEInfo header = new RLEResource.RLEInfo(); header.Parse(s); if (header.pixelFormat.Fourcc == FourCC.DST1 || header.pixelFormat.Fourcc == FourCC.DST3 || header.pixelFormat.Fourcc == FourCC.DST5) { s.Position = 0; resStream = (new DSTResource(1, s)).ToDDS(); } resStream.Position = 0; ddsPanel1 = new DDSPanel() { Fit = true, Channel1 = channel1, Channel2 = channel2, Channel3 = channel3, Channel4 = channel4, InvertCh4 = invertch4, Margin = new Padding(3), }; ddsPanel1.Channel1Changed += (sn, e) => channel1 = ddsPanel1.Channel1; ddsPanel1.Channel2Changed += (sn, e) => channel2 = ddsPanel1.Channel2; ddsPanel1.Channel3Changed += (sn, e) => channel3 = ddsPanel1.Channel3; ddsPanel1.Channel4Changed += (sn, e) => channel4 = ddsPanel1.Channel4; ddsPanel1.InvertCh4Changed += (sn, e) => invertch4 = ddsPanel1.InvertCh4; ddsPanel1.DDSLoad(resStream); }