Exemplo n.º 1
0
        public Image ReadImageFromDatabase(ThumbnailEntry thumbnail)
        {
            if (thumbnail.Length == 0)
            {
                return(null);
            }
            lock (_fileOperationLock)
            {
                if (_fileStream == null)
                {
                    _fileStream = File.Open(_fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite);
                }


                _fileStream.Lock(thumbnail.FilePosition, thumbnail.Length);
                _fileStream.Position = thumbnail.FilePosition;

                var sr = new BinaryReader(_fileStream);

                Image img = _imageManager.LoadFromByteArray(sr.ReadBytes(thumbnail.Length));

                _fileStream.Unlock(thumbnail.FilePosition, thumbnail.Length);

                return(img);
            }
        }
Exemplo n.º 2
0
 public ImageViewMapperProfile()
 {
     ThumbnailDatabase.CreateMapping(this);
     ThumbnailEntry.CreateMapping(this);
 }
Exemplo n.º 3
0
        /// <summary>
        ///     Verifies that the file does excist and that the physical file has not been written to after the thumbnail was
        ///     created.
        ///     Assumes access to the directory
        /// </summary>
        /// <param name="thumbnailEntry"></param>
        /// <returns>True if the thumbnail is up to date and the original file exists</returns>
        public static bool IsUpToDate(ThumbnailEntry thumbnailEntry)
        {
            var fileInfo = new FileInfo(thumbnailEntry.Directory + thumbnailEntry.FileName);

            return(fileInfo.Exists && fileInfo.LastWriteTime == thumbnailEntry.SourceImageDate);
        }