Beispiel #1
0
        public void Resize(ImageItem item, int?width, int?height)
        {
            string sourcePath = item.FilePath();

            if (item.Width == 0 || item.Height == 0)
            {
                Image image = Image.FromFile(sourcePath);
                item.Width  = image.Width;
                item.Height = image.Height;
                Save(item);
                image.Dispose();
            }

            Size size = ImageCache.CalculateImageDimenzions(item.Width, item.Height,
                                                            width.HasValue ? width.Value : 0,
                                                            height.HasValue ? height.Value : 0);

            string cachePath = GetCachedImagePath(item, size);

            // resize and  cache image
            if (!File.Exists(cachePath))
            {
                ImageCache.Resize(sourcePath, size, cachePath);
            }
        }
Beispiel #2
0
        public string GetCachedImagePath(ImageItem item, int width)
        {
            Size   size      = ImageCache.CalculateImageDimenzions(item.Width, item.Height, width, 0);
            string cachePath = GetCachedImagePath(item, size);

            if (!File.Exists(cachePath))
            {
                Resize(item, size.Width);
            }

            return(GetCachedImagePath(item, size));
        }