2

画像のサムをロードしてリストボックスに表示するコードがいくつかあります。Win7では問題なく動作します。Windows XP では、いくつかの大きなイメージをロードするのに約 7 ~ 10 分かかりますが、7 では数秒かかります。どうすれば高速化できますか?

    public static string AddImage(string file)
    {
        string key = "IMG_" + (++_counter).ToString("00000");
        ImageInfo inf = new ImageInfo();
        inf.OriginalPath = file;
        inf.ID = key;
        inf.OriginalPath = file;

        BitmapImage bi = new BitmapImage();
        bi.BeginInit();
        bi.DecodePixelWidth = THUMB_SIZE;
        bi.CacheOption = BitmapCacheOption.OnLoad;
        bi.UriSource = new Uri(file);
        bi.EndInit();
        inf.ThumbBitmap = bi;

        _storedImageInfo.Add(key, inf);

        return key;
    }

ImageInfo は、BitmapImages とイメージのパスへの参照を含む私自身のクラスです。ロード時間に大きな影響はないと思います。

4

0 に答える 0