前言:在写项目的时候,会不可避免的使用到图标,所以在现在很多前端框架中都集成了自己的一套图标库,当然很多情况下也都会去阿里巴巴图标库去寻找需要的图标。不过,有些情况下,我们需要提取某些程序的图标,如微信、QQ等,虽然网上也能找到,终究还是麻烦了些
本来是想着自己去写代码提取的,嗯,也是就直接用C#自带的提取方式,写着写着,发现效果不是特别好,不能提取大图标,随后就找到了这么一个不错的图标提取库,可以提取各种大小而不失真的图标(如果本身程序图标就没有比较大的图标话,也是提取不到),同时也可以提取快捷方式、文件等的图标,所以就直接拿来给大家分享下。.
-
首先去Nuget搜索
IconUtilities
并下载下来,虽然下载量不是特别大,但是真的好用。 -
然后直接下面一行代码即可搞定。
private void btn_extract_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(txt_path.Text))
{
Layer.Warning("No Data");
return;
}
IconSize iconSize;
if (rb_16.Checked)
{
iconSize = IconSize.Small;
}
else if (rb_32.Checked)
{
iconSize = IconSize.Large;
}
else if (rb_48.Checked)
{
iconSize = IconSize.ExtraLarge;
}
else
{
iconSize = IconSize.Jumbo;
}
Icon icon = IconUtilities.ExtractIcon(txt_path.Text, iconSize);
pic_img.Image = icon.ToBitmap();
}
实现效果: