C# 如何在诺基亚图像SDK中为SplitToneFilter创建SplitToneRange
对于SplitToneFilter所需的SplitToneRange IList,我有点困惑C# 如何在诺基亚图像SDK中为SplitToneFilter创建SplitToneRange,c#,windows-phone-8,nokia-imaging-sdk,lumia-imaging-sdk,C#,Windows Phone 8,Nokia Imaging Sdk,Lumia Imaging Sdk,对于SplitToneFilter所需的SplitToneRange IList,我有点困惑 SplitToneFilter(IList<SplitToneRange> splitToneRanges) 这是正确的开始吗?如果是这样的话,我该如何将其添加到SplitToneRange中 我尝试创建一个IList IList<SplitToneRange> l = new IList<SplitToneRange>(); //error 但是我得到了以下错误
SplitToneFilter(IList<SplitToneRange> splitToneRanges)
这是正确的开始吗?如果是这样的话,我该如何将其添加到SplitToneRange中
我尝试创建一个IList
IList<SplitToneRange> l = new IList<SplitToneRange>(); //error
但是我得到了以下错误
无法创建Abstract类或接口的实例
System.Collections.Generic.IList
在您的案例IList中,无法创建接口的实例。这不是Imaging SDK的限制,而是C的工作方式。只需创建一个普通列表:
List<SplitToneRange> list = new List<SplitToneRange>();
您的代码的其余部分看起来是正确的,但没有尝试过,但是通常对于不同的SplitToneRanges,您会有不同的颜色,如我的示例中所示。尝试试用这些值,以了解SplitToneFilter的实际功能。我必须像在我的原始帖子中那样创建Windows.UI.Color,因为它在创建时不接受字节值。但总的来说,你的解决方案奏效了。谢谢现在我只需要找到一些好的值来输入,以创建一个好看的过滤器。有任何建议,或者其他示例的链接吗?@Matthew您甚至可以在构造函数中将值强制转换为byte。我想在WP8版本中,构造函数不带参数。@Matthew您是对的。您应该使用Color.FromArgb方法。我更新了我的样本以反映这一点。
List<SplitToneRange> list = new List<SplitToneRange>();
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);