public static string ScaledImage(this UrlHelper urlHelper, ContentReference contentReference, ImagePreset preset)
 {
     var urlResolver = ServiceLocator.Current.GetInstance<UrlResolver>();
     var url = urlResolver.GetUrl(
         contentReference,
         ContentLanguage.PreferredCulture.Name,
         new VirtualPathArguments { ContextMode = ContextMode.Default });
     url += url.Contains("?") ? "&" : "?";
     url += "preset=" + preset;
     return url;
 }
Exemple #2
0
        private static void GetScaledImage(ImagePreset preset, KalikoImage image, string filePath)
        {
            using (var scaledImage = image.Scale(preset.ScaleMethod, preset.PreventUpscaling)) {
                foreach (var filter in preset.Filters)
                {
                    scaledImage.ApplyFilter(filter);
                }

                scaledImage.SaveJpg(filePath, preset.Quality);
            }
        }
        public static void AddPreset(ImagePreset preset)
        {
            if (preset == null)
            {
                throw new ArgumentException("Preset may not be null.");
            }
            if (string.IsNullOrEmpty(preset.Name))
            {
                throw new ArgumentException("Preset name may not be null or empty.");
            }
            if (Presets.ContainsKey(preset.Name))
            {
                throw new ArgumentException("Preset name already exists in collection.");
            }

            Presets.Add(preset.Name, preset);
        }
Exemple #4
0
        public ActionResult GetImageResult(ImageProviderBase imageProvider, ImagePreset preset)
        {
            // TODO: Add sub-routing based on image format
            if (imageProvider.Path.ToLowerInvariant().EndsWith(".png"))
            {
                return(imageProvider.ServeOriginal("image/png"));
            }

            var imagePath = BuildImagePath(imageProvider);

            if (File.Exists(imagePath))
            {
                return(new FilePathResult(imagePath, "image/jpeg"));
            }

            using (var image = imageProvider.GetImage()) {
                GetScaledImage(preset, image, imagePath);
            }

            return(new FilePathResult(imagePath, "image/jpeg"));
        }
 public static string CachedImage(this UrlHelper urlHelper, string path, ImagePreset preset)
 {
     return(CachedImage(urlHelper, path, preset.Name));
 }
Exemple #6
0
 public static MvcHtmlString CachedImage(this HtmlHelper htmlHelper, string path, ImagePreset preset, object htmlAttributes = null)
 {
     return(CachedImage(htmlHelper, path, preset.Name, htmlAttributes));
 }
 public ImageSource(ImagePreset preset)
 {
     Breakpoint = preset.ScaleMethod.TargetWidth;
     Preset     = preset;
     Unit       = "w";
 }
 public ImageSource(ImagePreset preset, int breakpoint, string unit = "w")
 {
     Breakpoint = breakpoint;
     Preset     = preset;
     Unit       = unit;
 }
 public static List<ImageOperation> Get(ImagePreset preset)
 {
     var result = Presets.SingleOrDefault(x => String.Equals(x.Preset.ToString(), preset.ToString(), StringComparison.CurrentCultureIgnoreCase));
     return result != null ? result.ImageOperations : NoTransform.ImageOperations;
 }