蒸汽游戏图标

时间:2014-07-11 03:22:25

标签: c# image icons steam

我正在制作文件浏览器,对于缩略图视图,它需要文件的图标。除了蒸汽游戏,我已经获得了所有文件的图标。我环顾四周,找不到像Windows那样获取图标的方法。

编辑: 这是我目前用来获取文件图标的内容:

public static Bitmap GetBigImage(string path, Size size)
    {
        Bitmap bmp;
        string ext = System.IO.Path.GetExtension(path);

        if (ext == ".exe")
        {
            Icon ico = Icon.ExtractAssociatedIcon(path);
            bmp = ico.ToBitmap();
            ico.Dispose();
        }
        else
        {
            if (imageType.Contains(ext.Replace(".", "")))
            {
                Image img = Image.FromFile(path);
                bmp = new Bitmap(img, new Size(size.Width - 20, 80));
                img.Dispose();
            }
            else
            {
                Icon ico = Win32.GetLargeIconForExtension(ext);
                bmp = ico.ToBitmap();
                ico.Dispose();
            }
        }

        return bmp;
    }

这是我想要的路径 steam:// rungameid / 209170

GetBigImage 中,如果我看到路径是否包含 steam:// (在任一if语句中),该方法仍然不会返回任何图标。

2 个答案:

答案 0 :(得分:0)

你试过吗,

Icon.ExtractAssociatedIcon

从System.Drawing命名空间?

http://msdn.microsoft.com/en-us/library/system.drawing.icon.extractassociatedicon(v=vs.110).aspx

答案 1 :(得分:0)

有一个Steam游戏数据库here。每个条目都会显示一个页面,其中包含指向游戏图标的链接。

您的ID会显示this页面,其中this链接指向该图标。

请注意,在'clienticon'字段下面通常有一个真实的图标,还有一个名为'icon'的普通jpg!

对于资源管理器类型应用,我建议缓存这些图标。

希望这有帮助。