예제 #1
0
        private string UploadCover(HttpPostedFileBase file)
        {
            // Initialize variables we'll need for resizing and saving
            var width  = 240;
            var height = 240;
            var relativeFileAndPath = "/Uploads/default";
            var fileName            = Guid.NewGuid().ToString() + file.FileName.Substring(file.FileName.LastIndexOf('.'));
            // Build absolute path
            var absPath        = HttpContext.Server.MapPath(relativeFileAndPath);
            var absFileAndPath = absPath + "\\" + fileName;

            // Create directory as necessary and save image on server
            if (!Directory.Exists(absPath))
            {
                Directory.CreateDirectory(absPath);
            }
            file.SaveAs(absFileAndPath);

            // Resize image using "ImageResizer" NuGet package.
            var resizeSettings = new ImageResizer.ResizeSettings
            {
                Scale  = ImageResizer.ScaleMode.DownscaleOnly,
                Width  = width,
                Height = height,
                Mode   = ImageResizer.FitMode.Crop
            };
            var b = ImageResizer.ImageBuilder.Current.Build(absFileAndPath, resizeSettings);

            // Save resized image
            b.Save(absFileAndPath);

            // Return relative file path
            return(relativeFileAndPath + "/" + fileName);
        }
예제 #2
0
 public ImageResizer.Encoding.IEncoder CreateIfSuitable(ImageResizer.ResizeSettings settings, object original)
 {
     if ("bmp".Equals(settings.Format, StringComparison.OrdinalIgnoreCase))
     {
         return(new BmpEncoder());
     }
     return(null);
 }
예제 #3
0
 private void FileLoader_DoWork(object sender, DoWorkEventArgs e)
 {
     ImageResizer.ImageInfo      image    = ImageResizer.ImageInfo.Build(e.Argument);
     ImageResizer.ResizeSettings settings = new ImageResizer.ResizeSettings();
     settings.ScaleMode = ImageResizer.ScaleMode.None;
     //image.ResizeImage(settings);
     e.Result = image;
 }
예제 #4
0
 //It don't work yet, resize is resolved in browser for now
 public void ResizeImage(HttpPostedFileBase imageUpload)
 {
     ImageResizer.ResizeSettings resizeSettings = new ImageResizer.ResizeSettings
     {
         Width  = 200,
         Height = 200
     };
     ImageResizer.ImageBuilder.Current.Build(imageUpload, imageUpload, resizeSettings);
 }
예제 #5
0
        private string UploadPhoto(HttpPostedFileBase file)
        {
            // Initialize variables we'll need for resizing and saving
            var widthThumnail       = 240;
            var heightThumnail      = 173;
            var widthLightBox       = 1074;
            var heightLightBox      = 768;
            var relativeFileAndPath = "/Uploads/default";
            var idFile           = Guid.NewGuid().ToString();
            var fileNameThumnail = idFile + "_thumnail" + file.FileName.Substring(file.FileName.LastIndexOf('.'));
            var fileNameLightBox = idFile + "_lightbox" + file.FileName.Substring(file.FileName.LastIndexOf('.'));
            var fileNameFull     = idFile + file.FileName.Substring(file.FileName.LastIndexOf('.'));
            // Build absolute path
            var absPath         = HttpContext.Server.MapPath(relativeFileAndPath);
            var absFileThumnail = absPath + "\\" + fileNameThumnail;
            var absFileLightBox = absPath + "\\" + fileNameLightBox;
            var absFileFull     = absPath + "\\" + fileNameFull;

            // Create directory as necessary and save image on server
            if (!Directory.Exists(absPath))
            {
                Directory.CreateDirectory(absPath);
            }
            file.SaveAs(absFileThumnail);
            file.SaveAs(absFileLightBox);
            file.SaveAs(absFileFull);

            // Resize image using "ImageResizer" NuGet package.
            var resizeThumnail = new ImageResizer.ResizeSettings
            {
                Scale  = ImageResizer.ScaleMode.DownscaleOnly,
                Width  = widthThumnail,
                Height = heightThumnail,
                Mode   = ImageResizer.FitMode.Crop
            };
            var b = ImageResizer.ImageBuilder.Current.Build(absFileThumnail, resizeThumnail);
            var resizeLightBox = new ImageResizer.ResizeSettings
            {
                Scale  = ImageResizer.ScaleMode.DownscaleOnly,
                Width  = widthLightBox,
                Height = heightLightBox,
                Mode   = ImageResizer.FitMode.Crop
            };
            var c = ImageResizer.ImageBuilder.Current.Build(absFileThumnail, resizeLightBox);

            // Save resized image
            b.Save(absFileThumnail);
            c.Save(absFileLightBox);

            // Return relative file path
            return(relativeFileAndPath + "/" + fileNameFull);
        }
        public MemoryStream ResizeImagePreportional(Stream blobStream, int maxWidth, int maxHeight)
        {
            //Resize Image
            ImageResizer.ResizeSettings settings = new ImageResizer.ResizeSettings();
            settings.MaxHeight = maxHeight;
            settings.MaxWidth  = maxWidth;
            settings.Mode      = ImageResizer.FitMode.Max;

            MemoryStream outputStream = new MemoryStream();

            ImageResizer.ImageBuilder.Current.Build(blobStream, outputStream, settings);

            return(outputStream);
        }
            /// <summary>
            /// Husk disse værdier!!
            /// Husk at lave mapperne som den skal gemmes i.
            /// </summary>
            /// <param name="image">File som bliver sæt med på Postefile</param>
            /// <param name="uploadmappe">Hvor henne skal billedet bliv gemt i dens originale billed størrelse</param>
            /// <param name="ThumpsMappe">Hvilke Thumpsmappe skal den lige i</param>
            /// <param name="Croppedmappe">Hvilke CroppedeMappe skal den over i.</param>
            /// <param name="Width">Hvilke størrelse skal den have i bredden</param>
            /// <param name="Height">Hvilke størrelse skal den have i højden</param>
            /// <param name="MulitUploadCropped">True/false skal den lave Cropped eller ej?</param>
            public static void UploadMethod(HttpPostedFile image, string uploadmappe, string ThumpsMappe, string Croppedmappe, int Width, int Height, bool MulitUploadCropped)
            {
                //hent at hent "ImageResizer" til at kunne gøre det her på billedet.

                //laver nyt navn til billedet.
                //Du har mulighed for at lad være med at tag file navnet og tilføj det ovn i den unikke værdi, men du kan bare også skrive + ".png", ".jpg" eller andet hvis du ønsker det.
                string filename = DateTime.Now.ToFileTime() + "_" + UploadImgInput.GetRandomNumber(190, 999) + image.FileName;

                //Gem det originale billede på det angivet sted som du har i upload
                image.SaveAs(uploadmappe + filename);

                //definer hvordan thumbsnail skal skaleres
                ImageResizer.ResizeSettings billedeskalering = new ImageResizer.ResizeSettings();

                //checker på om den er sat på False
                if (MulitUploadCropped == false)
                {

                    billedeskalering.Width = Width;
                    //udfør selv skaleringen,
                    ImageResizer.ImageBuilder.Current.Build(uploadmappe + filename, ThumpsMappe + filename, billedeskalering);

                    //har gjort det færdig.

                    //Mulighed for at lige det ind i databasen her
                }
                //Checker på om den er sat til true til at skulle Croppede billedet.
                else if (MulitUploadCropped == true)
                {
                    billedeskalering.Width = Width;
                    //udfør selv skaleringen,
                    ImageResizer.ImageBuilder.Current.Build(uploadmappe + filename, ThumpsMappe + filename, billedeskalering);

                    //har gjort det færdig.

                    billedeskalering = new ImageResizer.ResizeSettings();
                    billedeskalering.Width = Width;
                    billedeskalering.Height = Height;
                    billedeskalering.Mode = ImageResizer.FitMode.Crop;

                    ImageResizer.ImageBuilder.Current.Build(uploadmappe + filename, Croppedmappe + filename, billedeskalering);

                    //har gjort det færdig.

                    //Mulighed for at lige det ind i databasen her
                }
            }
예제 #8
0
 public static void UploadFile(HttpPostedFileBase file, string fileSavingPath, int imageWidth = 0, int imageHeight = 0)
 {
     //if (!Directory.Exists(imageSavingPath))
     //    Directory.CreateDirectory(imageSavingPath);
     if (System.IO.File.Exists(fileSavingPath))
     {
         System.IO.File.Delete(fileSavingPath);
     }
     file.SaveAs(fileSavingPath);
     if (imageWidth > 0 && imageHeight > 0)
     {
         var resizeSettings = new ImageResizer.ResizeSettings
         {
             Scale  = ImageResizer.ScaleMode.DownscaleOnly,
             Width  = imageWidth,
             Height = imageHeight,
             Mode   = ImageResizer.FitMode.Crop
         };
         var b = ImageResizer.ImageBuilder.Current.Build(fileSavingPath, resizeSettings);
         b.Save(fileSavingPath);
     }
 }
예제 #9
0
        public static void Run([BlobTrigger("sample-images/{name}")] Stream inputImage,
                               //[Blob("sample-images-sm/{name}", FileAccess.Write)] Stream imageSmall,
                               [Blob("sample-images-md/{name}", FileAccess.Write)] Stream resizedImage)
        {
            //IImageFormat format;

            //using (Image<Rgba32> input = Image.Load<Rgba32>(image, out format))
            //{
            //    ResizeImage(input, imageSmall, ImageSize.Small, format);
            //}

            //image.Position = 0;
            //using (Image<Rgba32> input = Image.Load<Rgba32>(image, out format))
            //{
            //    ResizeImage(input, imageMedium, ImageSize.Medium, format);
            //}

            var settings = new ImageResizer.ResizeSettings
            {
                MaxWidth = 400,
                Format   = "png"
            };
        }
예제 #10
0
        public JsonResult FileUpload()
        {
            try
            {
                HttpPostedFile file = null;
                if (System.Web.HttpContext.Current.Request.Files.AllKeys.Any())
                {
                    file = System.Web.HttpContext.Current.Request.Files["HttpPostedFileBase"];
                }
                string stamp        = string.Format("{0:yyyy-MM-dd_hh-mm-ss-tt}", DateTime.Now);
                string filename     = file.FileName;
                string pic          = System.IO.Path.GetFileName(filename);
                string thumbnailpic = System.IO.Path.GetFileName(file.FileName.Split('.')[0] + "_thumb." + file.FileName.Split('.')[1]);

                string path = System.IO.Path.Combine(
                    Server.MapPath("~/images/subjects"), pic);
                string thumbpath = System.IO.Path.Combine(
                    Server.MapPath("~/images/subjects"), thumbnailpic);
                // file is uploaded
                file.SaveAs(path);

                ImageResizer.ResizeSettings resizeSetting = new ImageResizer.ResizeSettings
                {
                    Width  = 285,
                    Height = 175,
                    Format = file.FileName.Split('.')[1]
                };
                ImageResizer.ImageBuilder.Current.Build(path, thumbpath, resizeSetting);
                // after successfully uploading redirect the user
                return(Json("File Uploaded", JsonRequestBehavior.AllowGet));
            }
            catch
            {
                return(Json("Eror"));
            }
        }
예제 #11
0
        /// <summary>
        /// Crops the image.
        /// </summary>
        /// <param name="bitmapContent">Content of the bitmap.</param>
        /// <param name="mimeType">Type of the MIME.</param>
        /// <returns></returns>
        private Stream CropImage(Stream bitmapContent, string mimeType)
        {
            if (mimeType == "image/svg+xml")
            {
                return(bitmapContent);
            }

            int[] photoCoords = _hfCropCoords.Value.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(a => (int)a.AsDecimal()).ToArray();
            int   x           = photoCoords[0];
            int   y           = photoCoords[1];
            int   width       = photoCoords[2];
            int   height      = photoCoords[3];
            int   x2          = x + width;
            int   y2          = y + height;

            System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(bitmapContent);

            // intentionally tell imageResizer to ignore the 3200x3200 size limit so that we can crop it first before limiting the size.
            var sizingPlugin = ImageResizer.Configuration.Config.Current.Plugins.Get <ImageResizer.Plugins.Basic.SizeLimiting>();
            var origLimit    = sizingPlugin.Limits.TotalBehavior;

            sizingPlugin.Limits.TotalBehavior = ImageResizer.Plugins.Basic.SizeLimits.TotalSizeBehavior.IgnoreLimits;
            MemoryStream croppedStream = new MemoryStream();

            ImageResizer.ResizeSettings resizeCropSettings = new ImageResizer.ResizeSettings(string.Format("crop={0},{1},{2},{3}", x, y, x2, y2));
            MemoryStream imageStream = new MemoryStream();

            bitmap.Save(imageStream, bitmap.RawFormat);
            imageStream.Seek(0, SeekOrigin.Begin);

            // set the size limit behavior back to what it was
            try
            {
                ImageResizer.ImageBuilder.Current.Build(imageStream, croppedStream, resizeCropSettings);
            }
            finally
            {
                sizingPlugin.Limits.TotalBehavior = origLimit;
            }

            // Make sure Image is no bigger than maxwidth/maxheight.  Default to whatever imageresizer's limits are set to
            int maxWidth  = this.MaxImageWidth ?? sizingPlugin.Limits.TotalSize.Width;
            int maxHeight = this.MaxImageHeight ?? sizingPlugin.Limits.TotalSize.Height;

            croppedStream.Seek(0, SeekOrigin.Begin);
            System.Drawing.Bitmap croppedBitmap = new System.Drawing.Bitmap(croppedStream);

            if ((croppedBitmap.Width > maxWidth) || (croppedBitmap.Height > maxHeight))
            {
                string       resizeParams                  = string.Format("width={0}&height={1}", maxWidth, maxHeight);
                MemoryStream croppedAndResizedStream       = new MemoryStream();
                ImageResizer.ResizeSettings resizeSettings = new ImageResizer.ResizeSettings(resizeParams);
                croppedStream.Seek(0, SeekOrigin.Begin);
                ImageResizer.ImageBuilder.Current.Build(croppedStream, croppedAndResizedStream, resizeSettings);
                return(croppedAndResizedStream);
            }
            else
            {
                return(croppedStream);
            }
        }
예제 #12
0
        protected void Button_Gem_Ret_Click(object sender, EventArgs e)
        {
            string        pris = TextBox_Price.Text;
            SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ToString());
            SqlCommand    cmd  = new SqlCommand();

            cmd.Connection = conn;

            cmd.CommandText = @"UPDATE products SET product_name = @name, FK_category_id = @fk_category, product_price = @price, product_storage = @storage, product_min_storage = @min_storage, product_max_storage = @max_storage, product_recomended_dirt = @dirt, product_growthtime = @growthtime, product_image_1 = @image1, product_image_2 = @image2, product_image_3 = @image3, product_description = @description, product_number = @number WHERE product_id = @product_id";

            cmd.Parameters.AddWithValue("@product_id", ViewState["product_id"]);
            cmd.Parameters.AddWithValue("@name", TextBox_Name.Text);
            cmd.Parameters.AddWithValue("@number", TextBox_Productnumber.Text);
            cmd.Parameters.AddWithValue("@price", Convert.ToDecimal(pris));
            cmd.Parameters.AddWithValue("@storage", TextBox_Storage.Text);
            cmd.Parameters.AddWithValue("@min_storage", TextBox_Min_Storage.Text);
            cmd.Parameters.AddWithValue("@max_storage", TextBox_Max_Storage.Text);
            cmd.Parameters.AddWithValue("@dirt", TextBox_Dirt.Text);
            cmd.Parameters.AddWithValue("@growthtime", TextBox_Time.Text);
            cmd.Parameters.AddWithValue("@description", TextBox_Description.Text);
            cmd.Parameters.AddWithValue("@fk_category", DropDownList_Categorys.SelectedValue);


            #region Image 1
            string product_image1 = HiddenField_oldImage1.Value;
            if (FileUpload_Img1.HasFile)
            {
                //NewGuid danner uniq navn for billeder
                product_image1 = Guid.NewGuid() + Path.GetExtension(FileUpload_Img1.FileName);
                // Opret
                String UploadeMappe = Server.MapPath("~/images/resizer/Original_Images/");
                String CroppedMappe = Server.MapPath("~/images/resizer/Croppede/");
                String Filnavn      = DateTime.Now.ToFileTime() + FileUpload_Img1.FileName;
                product_image1 = Filnavn;

                //Gem det orginale Billede
                FileUpload_Img1.SaveAs(UploadeMappe + Filnavn);

                // Definer hvordan
                ImageResizer.ResizeSettings BilledeSkalering = new ImageResizer.ResizeSettings();
                //Lav nogle nye skalerings instillinger
                BilledeSkalering        = new ImageResizer.ResizeSettings();
                BilledeSkalering.Width  = 120;
                BilledeSkalering.Height = 90;

                //Udfør selve skaleringen
                ImageResizer.ImageBuilder.Current.Build(UploadeMappe + Filnavn, CroppedMappe + Filnavn, BilledeSkalering);

                string old_img = HiddenField_oldImage1.Value;
                if (File.Exists(Server.MapPath("~/images/resizer/Croppede/") + old_img))
                {
                    File.Delete(Server.MapPath("~/images/resizer/Croppede/") + old_img);
                }
                if (File.Exists(Server.MapPath("~/images/resizer/Original_Images/") + old_img))
                {
                    File.Delete(Server.MapPath("~/images/resizer/Original_Images/") + old_img);
                }
            }
            cmd.Parameters.AddWithValue("@image1", product_image1);
            #endregion
            #region image 2
            string product_image2 = HiddenField_oldImage2.Value;
            if (FileUpload_Img2.HasFile)
            {
                //NewGuid danner uniq navn for billeder
                product_image2 = Guid.NewGuid() + Path.GetExtension(FileUpload_Img2.FileName);
                // Opret
                String UploadeMappe = Server.MapPath("~/images/resizer/Original_Images/");
                String CroppedMappe = Server.MapPath("~/images/resizer/Croppede/");
                String Filnavn      = DateTime.Now.ToFileTime() + FileUpload_Img2.FileName;
                product_image2 = Filnavn;

                //Gem det orginale Billede
                FileUpload_Img2.SaveAs(UploadeMappe + Filnavn);

                // Definer hvordan
                ImageResizer.ResizeSettings BilledeSkalering = new ImageResizer.ResizeSettings();
                //Lav nogle nye skalerings instillinger
                BilledeSkalering        = new ImageResizer.ResizeSettings();
                BilledeSkalering.Width  = 120;
                BilledeSkalering.Height = 90;

                //Udfør selve skaleringen
                ImageResizer.ImageBuilder.Current.Build(UploadeMappe + Filnavn, CroppedMappe + Filnavn, BilledeSkalering);

                string old_img = HiddenField_oldImage2.Value;
                if (File.Exists(Server.MapPath("~/images/resizer/Croppede/") + old_img))
                {
                    File.Delete(Server.MapPath("~/images/resizer/Croppede/") + old_img);
                }
                if (File.Exists(Server.MapPath("~/images/resizer/Original_Images/") + old_img))
                {
                    File.Delete(Server.MapPath("~/images/resizer/Original_Images/") + old_img);
                }
            }
            cmd.Parameters.AddWithValue("@image2", product_image2);
            #endregion
            #region Image 3
            string product_image3 = HiddenField_oldImage3.Value;
            if (FileUpload_Img3.HasFile)
            {
                //NewGuid danner uniq navn for billeder
                product_image3 = Guid.NewGuid() + Path.GetExtension(FileUpload_Img3.FileName);
                // Opret
                String UploadeMappe = Server.MapPath("~/images/resizer/Original_Images/");
                String CroppedMappe = Server.MapPath("~/images/resizer/Croppede/");
                String Filnavn      = DateTime.Now.ToFileTime() + FileUpload_Img3.FileName;
                product_image3 = Filnavn;

                //Gem det orginale Billede
                FileUpload_Img3.SaveAs(UploadeMappe + Filnavn);

                // Definer hvordan
                ImageResizer.ResizeSettings BilledeSkalering = new ImageResizer.ResizeSettings();
                //Lav nogle nye skalerings instillinger
                BilledeSkalering        = new ImageResizer.ResizeSettings();
                BilledeSkalering.Width  = 120;
                BilledeSkalering.Height = 90;

                //Udfør selve skaleringen
                ImageResizer.ImageBuilder.Current.Build(UploadeMappe + Filnavn, CroppedMappe + Filnavn, BilledeSkalering);

                string old_img = HiddenField_oldImage3.Value;
                if (File.Exists(Server.MapPath("~/images/resizer/Croppede/") + old_img))
                {
                    File.Delete(Server.MapPath("~/images/resizer/Croppede/") + old_img);
                }
                if (File.Exists(Server.MapPath("~/images/resizer/Original_Images/") + old_img))
                {
                    File.Delete(Server.MapPath("~/images/resizer/Original_Images/") + old_img);
                }
            }
            cmd.Parameters.AddWithValue("@image3", product_image3);
            #endregion
            conn.Open();
            cmd.ExecuteNonQuery();
            conn.Close();
            Response.Redirect("Produkter.aspx");
        }
        public static List <string> UploadSingleImage(string serverPath, HttpPostedFileBase file, int saveAsParam)
        {
            string OriginalImagePath = "~/Content/Uploads/UserImages/OriginalImages/";
            string XSmallImagePath   = "~/Content/Uploads/UserImages/XSmallImages/";
            string CruptedImagePath  = "~/Content/Uploads/UserImages/CruptedImages/";

            List <string> ImagePaths = new List <string>();

            if (file != null)
            {
                var uniqueName = Guid.NewGuid();

                serverPath = serverPath.Replace("~", string.Empty);

                var    fileArray = file.FileName.Split('.');
                string extension = fileArray[fileArray.Length - 1].ToLower();

                var fileName = uniqueName + "." + extension;

                if (extension == "jpg" || extension == "jpeg" || extension == "png" || extension == "gif")
                {
                    if (File.Exists(HttpContext.Current.Server.MapPath(serverPath + fileName)))
                    {
                        ImagePaths.Add("1");

                        return(ImagePaths);
                    }
                    else
                    {
                        var filePath = HttpContext.Current.Server.MapPath(serverPath + fileName);


                        file.SaveAs(filePath);

                        /* Görselleri boyutlandırmak için ImageResizer namespace`ini kullanıyorum. Bu işlemin dökümantasyonu imageresizing.net adresinde var(Package Manager Console ile hallettim). */

                        ImageResizer.ResizeSettings ImageSetting = new ImageResizer.ResizeSettings();
                        ImageSetting.Width  = 29;
                        ImageSetting.Height = 29;
                        ImageSetting.Mode   = ImageResizer.FitMode.Crop;


                        ImageResizer.ImageBuilder.Current.Build(OriginalImagePath + fileName, XSmallImagePath + fileName, ImageSetting);


                        if (saveAsParam == 1)
                        {
                            ImageSetting.Width  = 150;
                            ImageSetting.Height = 150;
                            ImageSetting.Mode   = ImageResizer.FitMode.Crop;
                        }
                        else
                        {
                            ImageSetting.Width  = 213;
                            ImageSetting.Height = 133;
                            ImageSetting.Mode   = ImageResizer.FitMode.Crop;
                        }

                        ImageResizer.ImageBuilder.Current.Build(OriginalImagePath + fileName, CruptedImagePath + fileName, ImageSetting);

                        ImagePaths.Add(serverPath + fileName);
                        ImagePaths.Add(XSmallImagePath.Replace("~", string.Empty) + fileName);
                        ImagePaths.Add(CruptedImagePath.Replace("~", string.Empty) + fileName);

                        return(ImagePaths);
                    }
                }
                else
                {
                    ImagePaths.Add("2");

                    return(ImagePaths);
                }
            }
            ImagePaths.Add("0");

            return(ImagePaths);
        }
예제 #14
0
        private string UploadCover(HttpPostedFileBase file)
        {
            // Initialize variables we'll need for resizing and saving
                var width = 240;
                var height = 173;
                var relativeFileAndPath = "/Uploads/default";
                var fileName = Guid.NewGuid().ToString() + file.FileName.Substring(file.FileName.LastIndexOf('.'));
                // Build absolute path
                var absPath = HttpContext.Server.MapPath(relativeFileAndPath);
                var absFileAndPath = absPath + "\\" + fileName;

                // Create directory as necessary and save image on server
                if (!Directory.Exists(absPath))
                    Directory.CreateDirectory(absPath);
                file.SaveAs(absFileAndPath);

                // Resize image using "ImageResizer" NuGet package.
                var resizeSettings = new ImageResizer.ResizeSettings
                {
                    Scale = ImageResizer.ScaleMode.DownscaleOnly,
                    Width = width,
                    Height = height,
                    Mode = ImageResizer.FitMode.Crop
                };
                var b = ImageResizer.ImageBuilder.Current.Build(absFileAndPath, resizeSettings);

                // Save resized image
                b.Save(absFileAndPath);

                // Return relative file path
                return relativeFileAndPath + "/" + fileName;
        }
예제 #15
0
        private string UploadPhoto(HttpPostedFileBase file)
        {
            // Initialize variables we'll need for resizing and saving
                var widthThumnail = 240;
                var heightThumnail = 173;
                var widthLightBox = 1074;
                var heightLightBox = 768;
                var relativeFileAndPath = "/Uploads/default";
                var idFile = Guid.NewGuid().ToString();
                var fileNameThumnail = idFile + "_thumnail" + file.FileName.Substring(file.FileName.LastIndexOf('.'));
                var fileNameLightBox = idFile + "_lightbox" + file.FileName.Substring(file.FileName.LastIndexOf('.'));
                var fileNameFull = idFile + file.FileName.Substring(file.FileName.LastIndexOf('.'));
                // Build absolute path
                var absPath = HttpContext.Server.MapPath(relativeFileAndPath);
                var absFileThumnail = absPath + "\\" + fileNameThumnail;
                var absFileLightBox = absPath + "\\" + fileNameLightBox;
                var absFileFull = absPath + "\\" + fileNameFull;

                // Create directory as necessary and save image on server
                if (!Directory.Exists(absPath))
                    Directory.CreateDirectory(absPath);
                file.SaveAs(absFileThumnail);
                file.SaveAs(absFileLightBox);
                file.SaveAs(absFileFull);

                // Resize image using "ImageResizer" NuGet package.
                var resizeThumnail = new ImageResizer.ResizeSettings
                {
                    Scale = ImageResizer.ScaleMode.DownscaleOnly,
                    Width = widthThumnail,
                    Height = heightThumnail,
                    Mode = ImageResizer.FitMode.Crop
                };
                var b = ImageResizer.ImageBuilder.Current.Build(absFileThumnail, resizeThumnail);
                var resizeLightBox = new ImageResizer.ResizeSettings
                {
                    Scale = ImageResizer.ScaleMode.DownscaleOnly,
                    Width = widthLightBox,
                    Height = heightLightBox,
                    Mode = ImageResizer.FitMode.Crop
                };
                var c = ImageResizer.ImageBuilder.Current.Build(absFileThumnail, resizeLightBox);
                // Save resized image
                b.Save(absFileThumnail);
                c.Save(absFileLightBox);

                // Return relative file path
                return relativeFileAndPath + "/" + fileNameFull;
        }
예제 #16
0
 public FileResult GetPhoto(int photoId, int? width, int? height)
 {
     using (var db = new Models.OnLeaveContext())
     {
         var photo = db.Photos.FirstOrDefault(p => p.PhotoId == photoId);
         if (photo != null)
         {
             if (width.HasValue && height.HasValue)
             {
                 // resize image if required
                 var rSetting = new ImageResizer.ResizeSettings(width.Value, height.Value, ImageResizer.FitMode.Stretch, null);
                 rSetting.Anchor = System.Drawing.ContentAlignment.MiddleCenter;
                 rSetting.Scale = ImageResizer.ScaleMode.UpscaleCanvas;                        
                 rSetting.BackgroundColor = System.Drawing.Color.FromArgb(51, 221, 255);                        
                 var resizedImage = ImageResizer.ImageBuilder.Current.Build(photo.Image, rSetting);
                 return File(resizedImage.ToByteArray(), MimeMapping.GetMimeMapping(photo.Name));
             }
             else
             {
                 return File(photo.Image, MimeMapping.GetMimeMapping(photo.Name));
             }
         }
     }
     
     return null;
 }
예제 #17
0
파일: ImageEditor.cs 프로젝트: Ganon11/Rock
        /// <summary>
        /// Crops the image.
        /// </summary>
        /// <param name="bitmapContent">Content of the bitmap.</param>
        /// <param name="mimeType">Type of the MIME.</param>
        /// <returns></returns>
        private byte[] CropImage( byte[] bitmapContent, string mimeType )
        {
            if ( mimeType == "image/svg+xml" )
            {
                return bitmapContent;
            }

            int[] photoCoords = _hfCropCoords.Value.Split( new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries ).Select( a => (int)a.AsDecimal() ).ToArray();
            int x = photoCoords[0];
            int y = photoCoords[1];
            int width = photoCoords[2];
            int height = photoCoords[3];
            int x2 = x + width;
            int y2 = y + height;

            System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap( new MemoryStream( bitmapContent ) );

            // intentionally tell imageResizer to ignore the 3200x3200 size limit so that we can crop it first before limiting the size.
            var sizingPlugin = ImageResizer.Configuration.Config.Current.Plugins.Get<ImageResizer.Plugins.Basic.SizeLimiting>();
            var origLimit = sizingPlugin.Limits.TotalBehavior;
            sizingPlugin.Limits.TotalBehavior = ImageResizer.Plugins.Basic.SizeLimits.TotalSizeBehavior.IgnoreLimits;
            MemoryStream croppedStream = new MemoryStream();
            ImageResizer.ResizeSettings resizeCropSettings = new ImageResizer.ResizeSettings( string.Format( "crop={0},{1},{2},{3}", x, y, x2, y2 ) );
            MemoryStream imageStream = new MemoryStream();
            bitmap.Save( imageStream, bitmap.RawFormat );
            imageStream.Seek( 0, SeekOrigin.Begin );

            // set the size limit behavior back to what it was
            try
            {
                ImageResizer.ImageBuilder.Current.Build( imageStream, croppedStream, resizeCropSettings );
            }
            finally
            {
                sizingPlugin.Limits.TotalBehavior = origLimit;
            }

            // Make sure Image is no bigger than maxwidth/maxheight.  Default to whatever imageresizer's limits are set to
            int maxWidth = this.MaxImageWidth ?? sizingPlugin.Limits.TotalSize.Width;
            int maxHeight = this.MaxImageHeight ?? sizingPlugin.Limits.TotalSize.Height;
            croppedStream.Seek( 0, SeekOrigin.Begin );
            System.Drawing.Bitmap croppedBitmap = new System.Drawing.Bitmap( croppedStream );

            if ( ( croppedBitmap.Width > maxWidth ) || ( croppedBitmap.Height > maxHeight ) )
            {
                string resizeParams = string.Format( "width={0}&height={1}", maxWidth, maxHeight );
                MemoryStream croppedAndResizedStream = new MemoryStream();
                ImageResizer.ResizeSettings resizeSettings = new ImageResizer.ResizeSettings( resizeParams );
                croppedStream.Seek( 0, SeekOrigin.Begin );
                ImageResizer.ImageBuilder.Current.Build( croppedStream, croppedAndResizedStream, resizeSettings );
                return croppedAndResizedStream.GetBuffer();
            }
            else
            {
                return croppedStream.GetBuffer();
            }
        }
예제 #18
0
        protected void Button_Opret_Click(object sender, EventArgs e)
        {
            string        pris = TextBox_Price.Text;
            SqlConnection conn = new SqlConnection();

            conn.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
            SqlCommand cmd = new SqlCommand();

            cmd.Connection = conn;

            cmd.CommandText = @"INSERT INTO products(product_name, FK_category_id, product_price, product_storage, product_min_storage, product_max_storage, product_recomended_dirt, product_growthtime, product_image_1, product_image_2, product_image_3, product_description, product_number) VALUES (@name, @fk_category, @price, @storage, @min_storage, @max_storage, @recomended_dirt, @growthtime, @image1, @image2, @image3, @description, @number);";
            cmd.Parameters.AddWithValue("@name", TextBox_Name.Text);
            cmd.Parameters.AddWithValue("@price", Convert.ToDecimal(pris));
            cmd.Parameters.AddWithValue("@storage", TextBox_Storage.Text);
            cmd.Parameters.AddWithValue("@min_storage", TextBox_Min_Storage.Text);
            cmd.Parameters.AddWithValue("@max_storage", TextBox_Max_Storage.Text);
            cmd.Parameters.AddWithValue("@recomended_dirt", TextBox_Dirt.Text);
            cmd.Parameters.AddWithValue("@growthtime", TextBox_Time.Text);
            cmd.Parameters.AddWithValue("@description", TextBox_Description.Text);
            cmd.Parameters.AddWithValue("@number", TextBox_Productnumber.Text);
            cmd.Parameters.AddWithValue("@fk_category", DropDownList_Categorys.SelectedValue);

            //database sti til billede
            string bill_sti = "intetbillede.jpg";

            //Hvis der er en fil i FilUploaden
            #region image1
            if (FileUpload_Img1.HasFile)
            {
                //NewGuid danner uniq navn for billeder
                bill_sti = Guid.NewGuid() + Path.GetExtension(FileUpload_Img1.FileName);
                // Opret
                String UploadeMappe = Server.MapPath("~/images/resizer/Original_Images/");
                String CroppedMappe = Server.MapPath("~/images/resizer/Croppede/");
                String Filnavn      = DateTime.Now.ToFileTime() + FileUpload_Img1.FileName;
                bill_sti = Filnavn;

                //Gem det orginale Billede
                FileUpload_Img1.SaveAs(UploadeMappe + Filnavn);

                // Definer hvordan
                ImageResizer.ResizeSettings BilledeSkalering = new ImageResizer.ResizeSettings();
                //Lav nogle nye skalerings instillinger
                BilledeSkalering        = new ImageResizer.ResizeSettings();
                BilledeSkalering.Width  = 120;
                BilledeSkalering.Height = 90;
                BilledeSkalering.Mode   = ImageResizer.FitMode.Crop;

                //Udfør selve skaleringen
                ImageResizer.ImageBuilder.Current.Build(UploadeMappe + Filnavn, CroppedMappe + Filnavn, BilledeSkalering);
            }
            // Tildel parameter-værdierne, fra input felterne.
            cmd.Parameters.AddWithValue("@image1", bill_sti);
            #endregion
            #region image2
            if (FileUpload_Img2.HasFile)
            {
                //NewGuid danner uniq navn for billeder
                bill_sti = Guid.NewGuid() + Path.GetExtension(FileUpload_Img2.FileName);
                // Opret
                String UploadeMappe = Server.MapPath("~/images/resizer/Original_Images/");
                String CroppedMappe = Server.MapPath("~/images/resizer/Croppede/");
                String Filnavn      = DateTime.Now.ToFileTime() + FileUpload_Img2.FileName;
                bill_sti = Filnavn;

                //Gem det orginale Billede
                FileUpload_Img2.SaveAs(UploadeMappe + Filnavn);

                // Definer hvordan
                ImageResizer.ResizeSettings BilledeSkalering = new ImageResizer.ResizeSettings();
                //Lav nogle nye skalerings instillinger
                BilledeSkalering        = new ImageResizer.ResizeSettings();
                BilledeSkalering.Width  = 90;
                BilledeSkalering.Height = 120;
                BilledeSkalering.Mode   = ImageResizer.FitMode.Crop;

                //Udfør selve skaleringen
                ImageResizer.ImageBuilder.Current.Build(UploadeMappe + Filnavn, CroppedMappe + Filnavn, BilledeSkalering);
            }
            // Tildel parameter-værdierne, fra input felterne.
            cmd.Parameters.AddWithValue("@image2", bill_sti);
            #endregion
            #region image3
            if (FileUpload_Img3.HasFile)
            {
                //NewGuid danner uniq navn for billeder
                bill_sti = Guid.NewGuid() + Path.GetExtension(FileUpload_Img3.FileName);
                // Opret
                String UploadeMappe = Server.MapPath("~/images/resizer/Original_Images/");
                String CroppedMappe = Server.MapPath("~/images/resizer/Croppede/");
                String Filnavn      = DateTime.Now.ToFileTime() + FileUpload_Img3.FileName;
                bill_sti = Filnavn;

                //Gem det orginale Billede
                FileUpload_Img3.SaveAs(UploadeMappe + Filnavn);

                // Definer hvordan
                ImageResizer.ResizeSettings BilledeSkalering = new ImageResizer.ResizeSettings();
                //Lav nogle nye skalerings instillinger
                BilledeSkalering        = new ImageResizer.ResizeSettings();
                BilledeSkalering.Width  = 90;
                BilledeSkalering.Height = 120;
                BilledeSkalering.Mode   = ImageResizer.FitMode.Crop;

                //Udfør selve skaleringen
                ImageResizer.ImageBuilder.Current.Build(UploadeMappe + Filnavn, CroppedMappe + Filnavn, BilledeSkalering);
            }
            // Tildel parameter-værdierne, fra input felterne.
            cmd.Parameters.AddWithValue("@image3", bill_sti);
            #endregion

            conn.Open();
            cmd.ExecuteNonQuery();
            conn.Close();

            Response.Redirect("Produkter.aspx");
        }
예제 #19
0
        public static List <string> UploadSingleImage(string serverPath, HttpPostedFileBase file, int saveAsParam)//Tek resim yükle - //httppostfilebase: Server'a atılacak olan dosyayı barındıracak olan property-dosya yükleme yolu
        {
            string OriginalImagePath = "~/Content/Uploads/UserImages/OriginalImages/";
            string XSmallImagePath   = "~/Content/Uploads/UserImages/XSmallImages/";
            string CruptedImagePath  = "~/Content/Uploads/UserImages/CruptedImages/";

            List <string> ImagePaths = new List <string>();

            if (file != null)
            {
                var uniqueName = Guid.NewGuid();                              //yeni bir guid nesnesi oluşturdu-benzersiz

                serverPath = serverPath.Replace("~", string.Empty);           //serverpath de boşlukları ~ ile değiştirir - string.Empty:uzunluğu "sıfır" olan bir stringi represent etmekte olup kendisine "null" değeri atanmış olup, henüz kendisinin refere ettiği bir string örneklemi bulunmadığını belirtmektedir.

                var    fileArray = file.FileName.Split('.');                  //Dosya ismini . ile böldü
                string extension = fileArray[fileArray.Length - 1].ToLower(); //adresteki uzantıyı küçük harfe çevirdi-uzantı

                var fileName = uniqueName + "." + extension;                  //dosya ismi benzersiz ad ve uzantıdan oluşsun

                if (extension == "jpg" || extension == "jpeg" || extension == "png" || extension == "gif")
                {
                    if (File.Exists(HttpContext.Current.Server.MapPath(serverPath + fileName)))//Sql'deki dosya yolu hücresinde belirtilen dosyanın local'de olup olmadığını denetler. (Uzak bir sunucudaki dosyaları denetlemez. Sadece kendi local'deki dosyaları denetler.)
                    {
                        ImagePaths.Add("1");

                        return(ImagePaths);
                    }
                    else
                    {
                        var filePath = HttpContext.Current.Server.MapPath(serverPath + fileName);//Dosya localde yoksa yeni bir dosya yolu belirtir


                        file.SaveAs(filePath);//dosya yolunu kaydeder

                        /* Görselleri boyutlandırmak için ImageResizer namespace`ini kullanıyorum. Bu işlemin dökümantasyonu imageresizing.net adresinde var(Package Manager Console ile hallettim). */
                        //ResizeSetting:Görüntüyü işlemek için kullanılacak ayarları temsil eder.
                        //FitMode.Crop:Genişlik ve yükseklik kesin değerler olarak kabul edilir -en boy oranı farkı varsa kırpma kullanılır.
                        ImageResizer.ResizeSettings ImageSetting = new ImageResizer.ResizeSettings();
                        ImageSetting.Width  = 29;
                        ImageSetting.Height = 29;
                        ImageSetting.Mode   = ImageResizer.FitMode.Crop;


                        ImageResizer.ImageBuilder.Current.Build(OriginalImagePath + fileName, XSmallImagePath + fileName, ImageSetting);


                        if (saveAsParam == 1)
                        {
                            ImageSetting.Width  = 150;
                            ImageSetting.Height = 150;
                            ImageSetting.Mode   = ImageResizer.FitMode.Crop;
                        }
                        else
                        {
                            ImageSetting.Width  = 213;
                            ImageSetting.Height = 133;
                            ImageSetting.Mode   = ImageResizer.FitMode.Crop;
                        }

                        ImageResizer.ImageBuilder.Current.Build(OriginalImagePath + fileName, CruptedImagePath + fileName, ImageSetting);

                        ImagePaths.Add(serverPath + fileName);
                        ImagePaths.Add(XSmallImagePath.Replace("~", string.Empty) + fileName);
                        ImagePaths.Add(CruptedImagePath.Replace("~", string.Empty) + fileName);

                        return(ImagePaths);
                    }
                }
                else
                {
                    ImagePaths.Add("2");

                    return(ImagePaths);
                }
            }
            ImagePaths.Add("0");

            return(ImagePaths);
        }
        public static List <string> UploadSingleImage(string serverPath, HttpPostedFileBase file, int saveAsParam)
        {
            string OriginalImagePath = "~/Content/Uploads/UserImages/OriginalImages/";
            string XSmallImagePath   = "~/Content/Uploads/UserImages/XSmallImages/";
            string CruptedImagePath  = "~/Content/Uploads/UserImages/CruptedImages/";

            List <string> ImagePaths = new List <string>();

            if (file != null)
            {
                var uniqueName = Guid.NewGuid();

                serverPath = serverPath.Replace("~", string.Empty);

                //pictureName.format
                //burak.yilmaz.jpg
                //furkan.emre.bayrak.png
                var    fileArray = file.FileName.Split('.');
                string extension = fileArray[fileArray.Length - 1].ToLower();
                var    fileName  = uniqueName + "." + extension;

                if (extension == "jpg" || extension == "jpeg" || extension == "png")
                {
                    if (File.Exists(HttpContext.Current.Server.MapPath(serverPath + fileName)))
                    {
                        ImagePaths.Add("1");
                        return(ImagePaths);
                    }
                    else
                    {
                        var filePath = HttpContext.Current.Server.MapPath(serverPath + fileName);

                        file.SaveAs(filePath);

                        ImageResizer.ResizeSettings ImageSettings = new ImageResizer.ResizeSettings();
                        ImageSettings.Width  = 30;
                        ImageSettings.Height = 30;
                        ImageSettings.Mode   = ImageResizer.FitMode.Crop;

                        ImageResizer.ImageBuilder.Current.Build(OriginalImagePath + fileName, XSmallImagePath + fileName, ImageSettings);

                        if (saveAsParam == 1)
                        {
                            ImageSettings.Width  = 150;
                            ImageSettings.Height = 150;
                            ImageSettings.Mode   = ImageResizer.FitMode.Crop;
                        }
                        else
                        {
                            ImageSettings.Width  = 250;
                            ImageSettings.Height = 250;
                            ImageSettings.Mode   = ImageResizer.FitMode.Crop;
                        }

                        ImageResizer.ImageBuilder.Current.Build(OriginalImagePath + fileName, CruptedImagePath + fileName, ImageSettings);

                        ImagePaths.Add(serverPath + fileName);
                        ImagePaths.Add(XSmallImagePath.Replace("~", string.Empty) + fileName);
                        ImagePaths.Add(CruptedImagePath.Replace("~", string.Empty) + fileName);

                        return(ImagePaths);
                    }
                }
                else
                {
                    ImagePaths.Add("2");
                    return(ImagePaths);
                }
            }
            else
            {
                ImagePaths.Add("3");
                return(ImagePaths);
            }
        }