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); } }
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)); }