コード例 #1
0
        public static ImageSource Load(string path)
        {
            Logger.WoxDebug($"load begin {path}");
            var img = _cache.GetOrAdd(path, LoadInternal);

            Logger.WoxTrace($"load end {path}");
            return(img);
        }
コード例 #2
0
ファイル: ImageLoader.cs プロジェクト: vostory/Wox
        private static ImageSource GetErrorImage()
        {
            ImageSource image = _cache.GetOrAdd(Constant.ErrorIcon, (_) =>
            {
                BitmapImage bitmap = new BitmapImage(new Uri(Constant.ErrorIcon))
                {
                    DecodePixelHeight = 32,
                    DecodePixelWidth  = 32
                };
                bitmap.Freeze();
                return(bitmap);
            });

            return(image);
        }
コード例 #3
0
ファイル: ImageLoader.cs プロジェクト: NightBladeStudios/Wox
        public static ImageSource Load(string path)
        {
            Logger.WoxDebug($"load begin {path}");
            var img = _cache.GetOrAdd(path, p =>
            {
                try
                {
                    return(LoadInternal(p));
                }
                catch (Exception e)
                {
                    e.Data.Add(nameof(p), p);
                    Logger.WoxError($"cannot load image sync <{p}>", e);
                    return(GetErrorImage());
                }
            });

            Logger.WoxTrace($"load end {path}");
            return(img);
        }