Beispiel #1
0
        private static void FormatPictureForAlbum(WebImage img, libraryNaturguiden.Picture picture)
        {
            var imgThumb    = img.Clone();
            var imgFormated = img.Clone();

            imgThumb = cropImage(imgThumb, 600, 400);
            imgFormated.Resize(1806, 1206, true, true);
            imgFormated.Crop(3, 3, 3, 3);

            picture.ThumbUrl    = $"images/album/thumbs/{picture.FileName}_thumb_{Guid.NewGuid()}.{img.ImageFormat}";
            picture.FormatedUrl = $"images/album/{picture.FileName}_album_{Guid.NewGuid()}.{img.ImageFormat}";
            imgThumb.Save("../" + picture.ThumbUrl);
            imgFormated.Save("../" + picture.FormatedUrl);
        }
Beispiel #2
0
        private WebImage CropImage(WebImage webImage, double rx, double ry, Selection selection)
        {
            var top    = (int)(selection.y1 * ry);
            var left   = (int)(selection.x1 * rx);
            var bottom = webImage.Height - (int)(selection.y2 * ry);
            var right  = webImage.Width - (int)(selection.x2 * rx);

            if (top < 0)
            {
                top = 0;
            }
            if (left < 0)
            {
                left = 0;
            }
            if (bottom < 0)
            {
                bottom = 0;
            }
            if (right < 0)
            {
                right = 0;
            }

            return(webImage.Clone().Crop(top, left, bottom, right));
        }
Beispiel #3
0
        private static void FormatPictureForNews(WebImage img, libraryNaturguiden.Picture picture)
        {
            var imgFormated = img.Clone();

            imgFormated = cropImage(imgFormated, 400, 200);

            picture.FormatedUrl = $"images/news/{picture.FileName} _news_{Guid.NewGuid()}.{img.ImageFormat}";
            imgFormated.Save("../" + picture.FormatedUrl);
        }
Beispiel #4
0
 public static void ImageResizeAndSave(this HttpContextBase context, WebImage image, params ImageSavingInfo[] imageSavingInfos)
 {
     foreach (var imageSavingInfo in imageSavingInfos)
     {
         var cloneImage = image.Clone();
         cloneImage.ImageResize(imageSavingInfo);
         var savingPath = context.Server.MapPath(imageSavingInfo.SavingVirtualPath);
         cloneImage.Save(savingPath, imageSavingInfo.SavingFormat);
     }
 }
Beispiel #5
0
        public void ClonePreservesAllInformation()
        {
            WebImage image = new WebImage(_JpgImageBytes);

            image.Resize(200, 100, preserveAspectRatio: true, preventEnlarge: true).RotateLeft();

            // this should preserve list of transformations
            WebImage cloned = image.Clone();

            Assert.Equal(100, cloned.Width);
            Assert.Equal(130, cloned.Height);
        }
Beispiel #6
0
        public static MvcHtmlString GalleryImage(this HtmlHelper helper, string galleryImage)
        {
            if (string.IsNullOrEmpty(galleryImage))
            {
                return(MvcHtmlString.Empty);
            }

            var url  = new UrlHelper(helper.ViewContext.RequestContext);
            var path = "~/public/UserFiles/gallery/" + HttpUtility.JavaScriptStringEncode(galleryImage);

            galleryImage = url.Content(path);

            if (galleryImage.EndsWith(".swf", StringComparison.OrdinalIgnoreCase))
            {
                return(MvcHtmlString.Create(string.Format("<embed wmode='opaque' style='display: block' width='512' height='300' src='{0}'></embed>", galleryImage)));
            }

            lock (lockObject) {
                var image = new WebImage(path);

                if (image.Width > 512 || image.Height > 300)
                {
                    var newImage = image.Clone();

                    newImage.Resize(512, 300);

                    if (newImage.Height < 300)
                    {
                        image.Resize(image.Width, 300);
                    }
                    else
                    {
                        image.Resize(512, image.Height);
                    }

                    image.Save();
                }
            }

            return(MvcHtmlString.Create(string.Format("<div class='gallery-image' style=\"background-image: url('{0}')\"></div>", galleryImage)));
        }
        public void ClonePreservesAllInformation()
        {
            WebImage image = new WebImage(_JpgImageBytes);
            image.Resize(200, 100, preserveAspectRatio: true, preventEnlarge: true).RotateLeft();

            // this should preserve list of transformations
            WebImage cloned = image.Clone();

            Assert.Equal(100, cloned.Width);
            Assert.Equal(130, cloned.Height);
        }