我对SplitToneFilter所需的SplitToneRange IList感到有些困惑。
SplitToneFilter(IList<SplitToneRange> splitToneRanges)
如何创建此类范围?我做了以下但是我不确定我是否正确地做了这件事。
Windows.UI.Color c = new Windows.UI.Color();
c.R = (byte)155;
c.G = (byte)155;
c.B = (byte)155;
SplitToneRange r = new SplitToneRange(20, 80, c);
SplitToneRange r1 = new SplitToneRange(140, 200, c);
这是一个正确的开始吗?如果是这样,我怎么能将它添加到SplitToneRange(..)。
我尝试创建IList
IList<SplitToneRange> l = new IList<SplitToneRange>(); //error
但是我收到以下错误
无法创建abstact类或接口的实例
System.Collections.Generic.IList<Nokia.Graphics.Imaging.SplitToneRange>
答案 0 :(得分:0)
您无法创建接口实例(在您的案例中为IList)。这不是Imaging SDK的限制,而是C#的工作原理。只需创建一个普通列表:
List<SplitToneRange> list = new List<SplitToneRange>();
然后添加一些SplitToneRanges:
list.Add(new SplitToneRange(20, 80, Windows.UI.Color.FromArgb(255, 155, 155, 155)));
list.Add(new SplitToneRange(140, 200, Windows.UI.Color.FromArgb(255, 30, 80, 200)));
SplitToneFilter filter = new SplitToneFilter(list);
其余代码看起来是正确的(没有尝试过),但通常你会有不同的SplitToneRanges颜色,如我的例子所示。尝试尝试使用这些值来了解SplitToneFilter实际执行的操作。