每当我使用iTextSharp.text.html.HtmlUtilities.DecodeColor
时,我都会收到HtmlUtilities is obsolete
的验证警告。但是,在https://github.com/itext/itextsharp处搜索代码时,我发现他们仍在许多地方使用它。
所以,我假设这个班没有替代品。是否有人计划知道或者是否有任何其他我应该注意的信息?
答案 0 :(得分:1)
iTextSharp.text.html.HtmlUtilities.DecodeColor
查看the code:
public static BaseColor DecodeColor(String s) {
if (s == null)
return null;
s = s.ToLowerInvariant().Trim();
try {
return WebColors.GetRGBColor(s);
}
catch {
return null;
}
}
您可以看到它基本上包含了对标记为过时的WebColors.GetRGBColor
,which is not的调用。
因此,一个好的选择是直接调用WebColors.GetRGBColor
以避免警告。或者,您可以在pragma语句中包含对DecodeColor的调用:
private static BaseColor GetBaseColor(string value)
{
#pragma warning disable 612, 618
return iTextSharp.text.html.HtmlUtilities.DecodeColor(value);
#pragma warning restore 612, 618
}
此外,WebColors.GetRGBColor
解码命名颜色以及html格式的颜色值(例如 #AARRGGBB
)。如果您只需要命名颜色,则可以使用评论中指出的System.Drawing.Color.FromName。