示例#1
0
        private ImageSource ReadFromDisk(IFileSystemObject fileSystemObject)
        {
            ImageSource bitmap = null;
            //lock (locker)
            {
#if DISPLAY_DEBUG
                System.Diagnostics.Debug.WriteLine("Cache read from disk " + fileSystemObject.Name);
#endif
                if (fileSystemObject is IDirectoryObject)
                {
                    bitmap = _Converter.GetImage(fileSystemObject.FullName);
                }
                else if (ImageDirectory.IsImage(fileSystemObject as IFileObject))
                {
                    using (var stream = (fileSystemObject as IFileObject).OpenRead())
                    {
                        bitmap = GetBitmap(stream);
                    }
                }
                else
                {
                    bitmap = _Converter.GetImage(fileSystemObject.FullName);
                }
                bitmap.Freeze();
            }
            return(bitmap);
        }