示例#1
0
    /// <param name="titleOrDescription">
    /// Replaces a placeholder-image with multiple images by comparing title/description
    ///
    /// Word Image -> Right Click -> Format Picture -> Alt Text -> Title
    /// </param>
    public static void ReplaceMultipleImages(WordprocessingDocument doc, string titleOrDescription, Bitmap[] bitmaps, string newImagePartId, bool adaptSize = false, ImagePartType imagePartType = ImagePartType.Png)
    {
        Blip[] blips = FindAllBlips(doc, d => d.Title == titleOrDescription || d.Description == titleOrDescription);

        if (blips.Count() != bitmaps.Length)
        {
            throw new ApplicationException("Images count does not match the images count in word");
        }

        if (adaptSize && !AvoidAdaptSize)
        {
            bitmaps = bitmaps.Select(bitmap =>
            {
                var part = doc.MainDocumentPart !.GetPartById(blips.First().Embed !);

                using (var stream = part.GetStream())
                {
                    Bitmap oldBmp = (Bitmap)Bitmap.FromStream(stream);
                    return(ImageResizer.Resize(bitmap, oldBmp.Width, oldBmp.Height));
                }
            }).ToArray();
        }

        doc.MainDocumentPart !.DeletePart(blips.First().Embed !);

        var i           = 0;
        var bitmapStack = new Stack <Bitmap>(bitmaps.Reverse());

        foreach (var blip in blips)
        {
            ImagePart img = CreateImagePart(doc, bitmapStack.Pop(), newImagePartId + i, imagePartType);
            blip.Embed = doc.MainDocumentPart.GetIdOfPart(img);
            i++;
        }
    }
        public virtual ActionResult Index(
            string file,
            int? w,
            int? h)
        {
            // find the file
            var f = Store.Get(file);
                        
            // resize the image
            if (w.HasValue && h.HasValue)
            {
                var resizer = new ImageResizer();
                var image = Image.FromStream(new MemoryStream(f.Item1));
                var stream = new MemoryStream();
                resizer.ResizeImage(
                    image,
                    new System.Drawing.Size(w.Value, h.Value),
                    stream,
                    ImageFormat.Jpeg);
                stream.Seek(0, SeekOrigin.Begin);
                return File(stream, f.Item2);
            }

            return File(f.Item1, f.Item2);
        }
示例#3
0
        public ActionResult Edit(Certificate certificate, HttpPostedFileBase CertificateImage)
        {
            if (ModelState.IsValid)
            {
                #region Upload Image
                if (CertificateImage != null)
                {
                    if (System.IO.File.Exists(Server.MapPath("/Files/CertificatesImages/" + certificate.Image)))
                    {
                        System.IO.File.Delete(Server.MapPath("/Files/CertificatesImages/" + certificate.Image));
                    }

                    // Saving Temp Image
                    var newFileName = Guid.NewGuid() + Path.GetExtension(CertificateImage.FileName);
                    CertificateImage.SaveAs(Server.MapPath("/Files/CertificatesImages/Temp/" + newFileName));
                    // Resize Image
                    ImageResizer image = new ImageResizer(800, 600, true);
                    image.Resize(Server.MapPath("/Files/CertificatesImages/Temp/" + newFileName),
                                 Server.MapPath("/Files/CertificatesImages/" + newFileName));

                    // Deleting Temp Image
                    System.IO.File.Delete(Server.MapPath("/Files/CertificatesImages/Temp/" + newFileName));
                    certificate.Image = newFileName;
                }
                #endregion

                _repo.Update(certificate);
                return(RedirectToAction("Index"));
            }
            return(View(certificate));
        }
        /// <summary>
        /// Compare yolo speed with optimal images in the correct size
        /// Resize before and resize in yolo
        /// </summary>
        public void Start()
        {
            var yoloWrapper  = new YoloWrapper("yolov2-tiny-voc.cfg", "yolov2-tiny-voc.weights", "voc.names");
            var files        = Directory.GetFiles(@".\Images");
            var imageResizer = new ImageResizer();

            var retries = 10;

            Console.WriteLine("|{0,20}|{1,29}|{2,43}|", "", "Resize with yolo", "Resize before yolo");
            Console.WriteLine("|{0,20}|{1,15}|{2,13}|{3,15}|{4,13}|{5,13}|{6,10}|{7,10}|", "Image", "detected items", "elapsed (ms)", " detected items", "resize (ms)", "yolo (ms)", "diff (ms)", "faster");

            foreach (var file in files)
            {
                for (var i = 0; i < retries; i++)
                {
                    var fileInfo  = new FileInfo(file);
                    var imageData = File.ReadAllBytes(file);

                    var result1 = ProcessResizeAfter(yoloWrapper, imageData);
                    var result2 = ProcessResizeBefore(yoloWrapper, imageResizer, imageData);
                    var diff    = result1.Item3 - result2.Item4;

                    Console.WriteLine("|{0,20}|{1,15}|{2,13}|{3,15}|{4,13}|{5,13}|{6,10}|{7,10}|", fileInfo.Name, result1.Item1.Count, result1.Item2, result2.Item1.Count, result2.Item2, result2.Item3, diff.ToString("0.00"), diff > 0);
                }
            }

            yoloWrapper.Dispose();
        }
        protected void File_Upload(object sender, AjaxFileUploadEventArgs e)
        {
            string filename = e.FileName;
            int    userID   = 1;          // Foreign key to Table Users..
            int    albumID  = 10;         // Foreign key to Table Albums..
            string username = "******"; // USE Context.User.Identity.Name for authenticated users..

            try
            {
                // Resize image before upload | Create thumbnail for previews..
                Stream       fileStream = e.GetStreamContents();
                ImageResizer imRes      = new ImageResizer(307200, fileStream, Path.GetExtension(filename));
                byte[]       imageThumbnail;
                byte[]       scaledUploadFile = imRes.ScaleImageFromStream(out imageThumbnail, 200, 200);

                // Generate a Guid for public file name..
                Guid             guid       = Guid.NewGuid();
                AzurePhotoClient blobClient = new AzurePhotoClient("azurephotos");
                blobClient.UploadFromBytes(scaledUploadFile, "hq/" + username + "/album/" + albumID + "/" + guid + Path.GetExtension(filename));
                blobClient.UploadFromBytes(imageThumbnail, "thumbnail/" + username + "/album/" + albumID + "/" + guid + Path.GetExtension(filename));

                // Log photo to DB..
                DbAccess dbAccess = new DbAccess();
                dbAccess.InsertPhotoToDb(userID, filename, guid, scaledUploadFile.Length, albumID);

                e.DeleteTemporaryData();
            }
            catch (Exception ex)
            {
                // Log error..
            }
        }
示例#6
0
        public ActionResult Create(Plan plan, List <int> Options, HttpPostedFileBase PlanImage)
        {
            if (plan.RentPrice == null)
            {
                plan.RentPrice = 0;
            }

            if (ModelState.IsValid)
            {
                #region Upload Files
                if (PlanImage != null)
                {
                    // Saving Temp Image
                    var newFileName = Guid.NewGuid() + Path.GetExtension(PlanImage.FileName);
                    PlanImage.SaveAs(Server.MapPath("/Files/PlanFiles/Temp/" + newFileName));
                    // Resize Image
                    ImageResizer image = new ImageResizer(370, 270, true);
                    image.Resize(Server.MapPath("/Files/PlanFiles/Temp/" + newFileName),
                                 Server.MapPath("/Files/PlanFiles/PlanImages/" + newFileName));
                    // Deleting Temp Image
                    System.IO.File.Delete(Server.MapPath("/Files/PlanFiles/Temp/" + newFileName));

                    plan.Image = newFileName;
                }
                #endregion
                _repo.Add(plan);
                foreach (var option in Options)
                {
                    _repo.AddOption(plan.Id, option);
                }
                return(RedirectToAction("Index", new { realStateId = plan.RealStateId }));
            }
            ViewBag.RealStateId = plan.RealStateId;
            return(View(plan));
        }
        public ActionResult Create(Service service, HttpPostedFileBase ServiceImage, HttpPostedFileBase ServiceFile)
        {
            if (ModelState.IsValid)
            {
                #region Upload Image
                if (ServiceImage != null)
                {
                    var newFileName = Guid.NewGuid() + Path.GetExtension(ServiceImage.FileName);
                    ServiceImage.SaveAs(Server.MapPath("/Files/Services/Image/" + newFileName));

                    ImageResizer thumb = new ImageResizer();
                    thumb.Resize(Server.MapPath("/Files/Services/Image/" + newFileName),
                                 Server.MapPath("/Files/Services/Thumb/" + newFileName));

                    service.Image = newFileName;
                }
                #endregion

                #region Upload File
                if (ServiceFile != null)
                {
                    var newFileName = Guid.NewGuid() + Path.GetExtension(ServiceFile.FileName);
                    ServiceFile.SaveAs(Server.MapPath("/Files/Services/File/" + newFileName));
                    service.File = newFileName;
                }
                #endregion
                _repo.Add(service);

                return(RedirectToAction("Index"));
            }
            return(View(service));
        }
        private static string GetResizedImagePath(string filepath, int width, int height)
        {
            string resizedPath = filepath;

            if (width > 0 || height > 0)
            {
                resizedPath = filepath.GetPathForResizedImage(width, height);

                if (!Directory.Exists(resizedPath))
                {
                    Directory.CreateDirectory(new FileInfo(resizedPath).DirectoryName);
                }

                if (!File.Exists(resizedPath))
                {
                    var imageResizer = new ImageResizer(filepath);
                    if (width > 0 && height > 0)
                    {
                        imageResizer.Resize(width, height, ImageEncoding.Jpg90);
                    }
                    else if (width > 0)
                    {
                        imageResizer.Resize(width, ImageEncoding.Jpg90);
                    }
                    imageResizer.SaveToFile(resizedPath);
                    imageResizer.Dispose();
                }
            }
            return(resizedPath);
        }
示例#9
0
 protected MeekController(Configuration.Configuration config)
 {
     _config = config;
     _repository = config.GetRepository(); ;
     _auth = config.GetAuthorization();
     _resizer = config.GetImageResizer();
 }
示例#10
0
        public ProfileEnhancedViewModel(INavigation navigation = null) : base(navigation)
        {
            _userPivotService    = DependencyService.Get <IUserPivotService>();
            _trackerPivotService = DependencyService.Get <ITrackerPivotService>();
            UserGreeting         = string.Empty;
            JoiningDate          = string.Empty;
            TargetDate           = string.Empty;
            DisplayDetailLink    = TextResources.Details;
            Seperator            = "|";
            YourGoal             = YouLost = ToLoose = GaugeMin = GaugeCurrent = 0;
            GaugeMax             = 100;
            _imageSizeBadge      = App.Configuration.GetImageSizeByID(ImageIdentity.USER_PROFILE_BADGE_ICON);
            if (_imageSizeBadge != null)
            {
                UserBadgeImageHeight = _imageSizeBadge.Height;
                UserBadgeImageWidth  = _imageSizeBadge.Width;
            }

            BadgeAchievedImage     = ImageResizer.ResizeImage(TextResources.Badge_Null, _imageSizeBadge);
            MilestoneRequired      = false;
            ShowTrackerDetail      = false;
            UserDetail             = new UserPivot();
            UserTrackers           = new List <TrackerPivot>();
            UserTrackersDescending = new List <TrackerPivot>();
            YourGoal            = YouLostThisWeek = ToLoose = 0;
            WeightSubmitDetails = TextResources.Weight + " " + TextResources.Submit + " " + TextResources.Details;
            SetPageImageSize();
        }
示例#11
0
        /// <summary>
        /// Creates an image from a source image using the closest colors in the Game Boy palette.
        /// </summary>
        public static void Main(string[] args)
        {
            ParseCommandLineArgs(args, out string convertedImagePath, out string sourceImagePath, out bool resize);
            if (sourceImagePath == null || convertedImagePath == null)
            {
                return;
            }

            if (!File.Exists(sourceImagePath))
            {
                Console.Error.WriteLine($"Input image \"{sourceImagePath}\" does not exist.");
                Environment.Exit(-1);
            }

            using (var sourceImage = Image.Load(sourceImagePath))
            {
                if (resize)
                {
                    var resizer = new ImageResizer();
                    resizer.Resize(sourceImage, GameBoyConstants.ScreenWidth, GameBoyConstants.ScreenHeight);
                }

                var palette        = GameBoyColorPalette.Dmg.ToRgba32();
                var converter      = new ColorConverter();
                var convertedImage = converter.Convert(sourceImage, palette);

                convertedImage.Save(convertedImagePath);
            }

            Process.Start(new ProcessStartInfo()
            {
                FileName = convertedImagePath, UseShellExecute = true
            });
        }
示例#12
0
        public ActionResult Edit(Brand brand, HttpPostedFileBase BrandImage)
        {
            if (ModelState.IsValid)
            {
                #region Upload Image
                if (BrandImage != null)
                {
                    if (System.IO.File.Exists(Server.MapPath("/Files/BrandsImages/" + brand.Logo)))
                    {
                        System.IO.File.Delete(Server.MapPath("/Files/BrandsImages/" + brand.Logo));
                    }

                    // Saving Temp Image
                    var newFileName = Guid.NewGuid() + Path.GetExtension(BrandImage.FileName);
                    BrandImage.SaveAs(Server.MapPath("/Files/BrandsImages/Temp/" + newFileName));
                    // Resize Image
                    ImageResizer image = new ImageResizer(400, 200, true);
                    image.Resize(Server.MapPath("/Files/BrandsImages/Temp/" + newFileName),
                                 Server.MapPath("/Files/BrandsImages/" + newFileName));

                    // Deleting Temp Image
                    System.IO.File.Delete(Server.MapPath("/Files/BrandsImages/Temp/" + newFileName));
                    brand.Logo = newFileName;
                }
                #endregion

                _repo.Update(brand);
                return(RedirectToAction("Index"));
            }
            return(View(brand));
        }
        public ActionResult Edit(ProductGallery productGallery, HttpPostedFileBase Image)
        {
            if (ModelState.IsValid)
            {
                #region Upload Image
                if (Image != null)
                {
                    if (System.IO.File.Exists(Server.MapPath("/Files/ProductImages/ProductGallery/" + productGallery.Image)))
                    {
                        System.IO.File.Delete(Server.MapPath("/Files/ProductImages/ProductGallery/" + productGallery.Image));
                    }
                    // Saving Temp Image
                    var newFileName = Guid.NewGuid() + Path.GetExtension(Image.FileName);
                    Image.SaveAs(Server.MapPath("/Files/ProductImages/Temp/" + newFileName));
                    // Resize Image
                    ImageResizer image = new ImageResizer(900, 500, true);
                    image.Resize(Server.MapPath("/Files/ProductImages/Temp/" + newFileName),
                                 Server.MapPath("//Files/ProductImages/ProductGallery/" + newFileName));

                    // Deleting Temp Image
                    System.IO.File.Delete(Server.MapPath("/Files/ProductImages/Temp/" + newFileName));

                    productGallery.Image = newFileName;
                }
                #endregion
                _repo.Update(productGallery);
                return(RedirectToAction("Index", new { productId = productGallery.ProductId }));
            }
            return(View(productGallery));
        }
示例#14
0
        private void Fix(HtmlDocument document, string elementId)
        {
            HtmlNodeCollection htmlNodeCollection = document.DocumentNode.SelectNodes(string.Format("//img[@id='{0}']", elementId));
            TempFile           tempImage          = null;

            foreach (var elementbyId in htmlNodeCollection)
            {
                string image = elementbyId.Attributes["src"].Value;

                //remove ellipses if any
                if (image.StartsWith("../"))
                {
                    image = image.Replace("../", string.Empty);
                }
                string serverPath = HttpContext.Current.Server.MapPath("~");
                string resolved   = Path.Combine(serverPath, image);
                if (!File.Exists(resolved))
                {
                    string directoryName = Path.GetDirectoryName(resolved);
                    resolved = Path.Combine(directoryName, "DefaultLogo.png");
                    if (!File.Exists(resolved))
                    {
                        Images.DefaultLogo.Save(resolved);
                    }
                }
                if (tempImage == null)
                {
                    tempImage = CreateTempFile();
                    ImageResizer.ResizeImage(resolved, tempImage.FileName, 180, 75, true);
                }
                elementbyId.Attributes["src"].Value = tempImage.FileName;
            }
            //Do not dispose temp file here, file will later be used by other element
        }
示例#15
0
 public MeekController()
 {
     _repository = BootStrapper.Configuration.GetRepository();
     _auth = BootStrapper.Configuration.GetAuthorization();
     _resizer = BootStrapper.Configuration.GetImageResizer();
     _config = BootStrapper.Configuration;
 }
        public ActionResult Edit(StaticContentDetail staticContentDetail, HttpPostedFileBase StaticContentDetailImage)
        {
            if (ModelState.IsValid)
            {
                #region Upload Image
                if (StaticContentDetailImage != null)
                {
                    if (System.IO.File.Exists(Server.MapPath("/Files/StaticContentImages/Image/" + staticContentDetail.Image)))
                    {
                        System.IO.File.Delete(Server.MapPath("/Files/StaticContentImages/Image/" + staticContentDetail.Image));
                    }

                    if (System.IO.File.Exists(Server.MapPath("/Files/StaticContentImages/Thumb/" + staticContentDetail.Image)))
                    {
                        System.IO.File.Delete(Server.MapPath("/Files/StaticContentImages/Thumb/" + staticContentDetail.Image));
                    }

                    var newFileName = Guid.NewGuid() + Path.GetExtension(StaticContentDetailImage.FileName);
                    StaticContentDetailImage.SaveAs(Server.MapPath("/Files/StaticContentImages/Image/" + newFileName));

                    ImageResizer thumb = new ImageResizer();
                    thumb.Resize(Server.MapPath("/Files/StaticContentImages/Image/" + newFileName), Server.MapPath("/Files/StaticContentImages/Thumb/" + newFileName));
                    staticContentDetail.Image = newFileName;
                }
                #endregion

                _repo.Update(staticContentDetail);
                return(RedirectToAction("Index"));
            }
            ViewBag.StaticContentTypeId = new SelectList(_repo.GetStaticContentTypes(), "Id", "Name", staticContentDetail.StaticContentTypeId);
            return(View(staticContentDetail));
        }
示例#17
0
        public ActionResult Edit(Testimonial testimonial, HttpPostedFileBase TestimonialImage)
        {
            if (ModelState.IsValid)
            {
                #region Upload Image
                if (TestimonialImage != null)
                {
                    if (System.IO.File.Exists(Server.MapPath("/Files/TestimonialImages/" + testimonial.Image)))
                    {
                        System.IO.File.Delete(Server.MapPath("/Files/TestimonialImages/" + testimonial.Image));
                    }

                    // Saving Temp Image
                    var newFileName = Guid.NewGuid() + Path.GetExtension(TestimonialImage.FileName);
                    TestimonialImage.SaveAs(Server.MapPath("/Files/TestimonialImages/Temp/" + newFileName));
                    // Resize Image
                    ImageResizer image = new ImageResizer(400, 400);
                    image.Resize(Server.MapPath("/Files/TestimonialImages/Temp/" + newFileName),
                                 Server.MapPath("/Files/TestimonialImages/" + newFileName));

                    // Deleting Temp Image
                    System.IO.File.Delete(Server.MapPath("/Files/TestimonialImages/Temp/" + newFileName));
                    testimonial.Image = newFileName;
                }
                #endregion
                _repo.Update(testimonial);
                return(RedirectToAction("Index"));
            }
            return(View(testimonial));
        }
示例#18
0
        public static Stream Resize(int width, int height, Stream image, string fileName)
        {
            Stream fileStream  = new MemoryStream();
            Image  tempImage   = Bitmap.FromStream(image);
            long   maxFactor   = width * height;
            long   imageFactor = tempImage.Width * tempImage.Height;

            if (maxFactor < imageFactor)
            {
                using (ImageResizer resizer = new ImageResizer())
                {
                    resizer.MimeType    = Path.GetExtension(fileName);
                    resizer.SourceImage = tempImage;
                    resizer.Background  = ColorTranslator.FromHtml("#fff");
                    resizer.Mode        = ImageResizer.ResizeMode.KeepOriginalAspect;
                    resizer.Width       = width;
                    resizer.Height      = height;

                    resizer.Process();

                    resizer.ResultImage.Save(fileStream, tempImage.RawFormat);
                }
            }
            else
            {
                image.Seek(0, SeekOrigin.Begin);
                image.CopyTo(fileStream);
            }

            return(fileStream);
        }
示例#19
0
 public UploadedFilesResizer(IFileSystem files, ImageResizer resizer, EditSection config)
 {
     this.files   = files;
     this.resizer = resizer;
     this.images  = config.Images;
     sizeNames    = config.Images.Sizes.AllElements.Select(s => s.Name).ToArray();
 }
示例#20
0
        public void Fill_Portrait_CropHorizontally_AndResize()
        {
            var rect     = ImageResizer.GetFillDestinationRectangle(new Size(6, 9), new Size(4, 4));
            var expected = new Rectangle(0, -1, 4, 6);

            Assert.That(rect, Is.EqualTo(expected));
        }
示例#21
0
        public ActionResult Create(RealStateGallery realStateGallery, HttpPostedFileBase Image)
        {
            if (ModelState.IsValid)
            {
                #region Upload Image
                if (Image != null)
                {
                    // Saving Temp Image
                    var newFileName = Guid.NewGuid() + Path.GetExtension(Image.FileName);
                    Image.SaveAs(Server.MapPath("/Files/RealStateImages/Temp/" + newFileName));
                    // Resize Image
                    ImageResizer image = new ImageResizer(721, 382, false);
                    image.Resize(Server.MapPath("/Files/RealStateImages/Temp/" + newFileName),
                                 Server.MapPath("/Files/RealStateImages/Gallery/" + newFileName));

                    // Deleting Temp Image
                    System.IO.File.Delete(Server.MapPath("/Files/RealStateImages/Temp/" + newFileName));

                    realStateGallery.Image = newFileName;
                }
                #endregion

                _repo.Add(realStateGallery);
                return(RedirectToAction("Index", new { realStateId = realStateGallery.RealStateId }));
            }
            //ViewBag.RealStateId = realStateGallery.RealStateId;
            return(View(realStateGallery));
        }
示例#22
0
        void Resize()
        {
            Status = FileUploadStatus.Resizing;
            try
            {
                Stream fileStream = file.OpenRead();

                using (fileStream)
                {
                    // Decode
                    DecodedJpeg jpegIn = new JpegDecoder(fileStream).Decode();

                    if (!ImageResizer.ResizeNeeded(jpegIn.Image, ImageSize))
                    {
                        return;
                    }
                    else
                    {
                        // Resize
                        DecodedJpeg jpegOut = new DecodedJpeg(
                            new ImageResizer(jpegIn.Image)
                            .Resize(ImageSize, ResamplingFilters.NearestNeighbor),
                            jpegIn.MetaHeaders); // Retain EXIF details

                        // Encode
                        resizeStream = new MemoryStream();
                        new JpegEncoder(jpegOut, 90, resizeStream).Encode();
                        // Display
                        resizeStream.Seek(0, SeekOrigin.Begin);
                        FileLength = resizeStream.Length;
                    }
                }
            }
            catch { };
        }
        private static string GetResizedImagePath(string filepath, int width, int height)
        {
            string resizedPath = filepath;

            if (width > 0 || height > 0)
            {
                resizedPath = filepath.GetPathForResizedImage(width, height);

                if (!Directory.Exists(resizedPath))
                    Directory.CreateDirectory(new FileInfo(resizedPath).DirectoryName);

                if (!File.Exists(resizedPath))
                {
                    var imageResizer = new ImageResizer(filepath);
                    if (width > 0 && height > 0)
                    {
                        imageResizer.Resize(width, height, ImageEncoding.Jpg90);
                    }
                    else if (width > 0)
                    {
                        imageResizer.Resize(width, ImageEncoding.Jpg90);
                    }
                    imageResizer.SaveToFile(resizedPath);
                    imageResizer.Dispose();
                }
            }
            return resizedPath;
        }
        private async void AddImage()
        {
            await CrossMedia.Current.Initialize();

            if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported)
            {
                var file = await CrossMedia.Current.PickPhotoAsync();

                if (file != null)
                {
                    if (lstImages.Count >= 4)
                    {
                        await App.Current.MainPage.DisplayAlert("Maximo de imagenes", "Tiene un total de 6 imagenes", "OK");
                    }
                    else
                    {
                        ImageFile image = new ImageFile {
                            Path = file.Path
                        };
                        image.Image = ImageResizer.ResizeImage(File.ReadAllBytes(image.Path), 250, 250);
                        lstImages.Add(image);
                    }
                }
                return;
            }
        }
示例#25
0
 private void ChangeBadgeAchievedImage()
 {
     if (!string.IsNullOrEmpty(BadgeAchievedImage))
     {
         BadgeAchievedImageSource = ImageResizer.ResizeImage(BadgeAchievedImage, BadgeImageSize);
     }
 }
示例#26
0
        public static void GeneratePODForm(WFPICTContext Db, string UploadsFormsPath, string DownloadsFormsPath, string SignPath, Guid Id)
        {
            Proof pod = Db.Proofs
                        .Include(x => x.Assignment)
                        .Include(x => x.Assignment.Order)
                        .Include(x => x.Pictures)
                        .Include(x => x.Piano)
                        .Include(x => x.Piano.Statuses)
                        .FirstOrDefault(x => x.Id == Id)
            ;

            string templateFormsPath = Path.Combine(UploadsFormsPath, pod.Assignment.Order.DeliveryForm);
            string podFileName       = "POD" + pod.Assignment.Order.OrderNumber + ".pdf";
            string podFilePath       = Path.Combine(DownloadsFormsPath, pod.Id.ToString() + ".pdf");

            string signature        = Path.Combine(SignPath, pod.Signature);
            string signatureResized = Path.Combine(SignPath, "1" + pod.Signature);

            if (!System.IO.File.Exists(signatureResized))
            {
                ImageResizer.Resize(signature, signatureResized, 150, 150, true);
            }

            GeneratePODForm(templateFormsPath, podFilePath, pod.ReceivedBy, pod.ReceivingTime?.ToString(), signatureResized);

            EmailHelper.SendEmail(pod.Assignment.Order.CallerEmail, "Signed POD Form " + podFileName, "Please find attached Signed Delivery Form " + podFileName, "", new string[] { podFilePath }.ToList());
        }
示例#27
0
        public async Task BindMenuData()
        {
            float height = 30, width = 30;
            var   iconSize = App.Configuration.GetImageSizeByID(ImageIdentity.MENU_ITEM_ICON);

            if (iconSize != null)
            {
                height = iconSize.Height;
                width  = iconSize.Width;
            }

            var menuItems = await DependencyService.Get <IMenuServices>().GetByApplicationAsync();

            MenuItems = (from m in menuItems
                         select new HomeMenuItem
            {
                MenuTitle = _helper.GetResource(m.MenuTitle),
                MenuType = (MenuType)Enum.Parse(typeof(MenuType), m.MenuType),
                MenuIcon = m.MenuIcon != null ? _helper.GetResource(m.MenuIcon) : "",
                IconStyle = IconStyle,
                IconSource = m.MenuIcon != null
                        ? ImageResizer.ResizeImage(_helper.GetResource(m.MenuIcon), iconSize)
                        : null,
                IconHeight = height,
                IconWidth = width,
                IsIconVisible = m.MenuIconVisible,
                TextStyle = (MenuType)Enum.Parse(typeof(MenuType), m.MenuType) == MenuType.MyProfile
                        ? SelectedStyle
                        : DefaultStyle,
                IsSelected = (MenuType)Enum.Parse(typeof(MenuType), m.MenuType) == MenuType.MyProfile,
                ItemPadding = new Thickness(15, 5, 0, 5)
            }).ToList();
        }
示例#28
0
 public void AspectRatio(string filename, double expected)
 {
     using (var resizer = new ImageResizer(GetSource(filename)))
     {
         Assert.That(resizer.AspectRatio, Is.EqualTo(expected).Within(0.01));
     }
 }
示例#29
0
        static void CheckPerformance()
        {
            var yoloWrapper  = new YoloWrapper("yolov2-tiny-voc.cfg", "yolov2-tiny-voc.weights", "voc.names");
            var files        = Directory.GetFiles(@".\Images");
            var imageResizer = new ImageResizer();

            var retrys = 3;

            Console.WriteLine(string.Format("|{0,40}|{1,5}|{2,25}|{3,5}|{4,25}|{5,10}|{6,10}|", "Image", "items", "elapsed (ms)", "items", "elapsed (ms)", "diff (ms)", "faster"));

            foreach (var file in files)
            {
                for (var i = 0; i < retrys; i++)
                {
                    var fileInfo  = new FileInfo(file);
                    var imageData = File.ReadAllBytes(file);

                    var result1 = ProcessResizeAfter(yoloWrapper, imageData);
                    var result2 = ProcessResizeBefore(yoloWrapper, imageResizer, imageData);
                    var diff    = result1.Item3 - result2.Item3;

                    Console.WriteLine(string.Format("|{0,40}|{1,5}|{2,25}|{3,5}|{4,25}|{5,10}|{6,10}|", fileInfo.Name, result1.Item1.Count, result1.Item2, result2.Item1.Count, result2.Item2, diff.ToString("0.00"), diff > 0));
                }
            }
        }
示例#30
0
        public ActionResult Create([Bind(Include = "SoftwareId,Title,Description,Text,Visit,CreateDate,ImageName")] Software software
                                   , HttpPostedFileBase imgUp)
        {
            if (ModelState.IsValid)
            {
                if (imgUp != null && imgUp.IsImage())
                {
                    software.ImageName = Guid.NewGuid().ToString() + Path.GetExtension(imgUp.FileName);
                    imgUp.SaveAs(Server.MapPath("/Content/Image/Softwares/" + software.ImageName));
                    ImageResizer imageResizer = new ImageResizer();
                    imageResizer.Resize(Server.MapPath("/Content/Image/Softwares/" + software.ImageName),
                                        Server.MapPath("/Content/Image/Softwares/Thumbnail/" + software.ImageName));

                    software.CreateDate = DateTime.Now;
                    software.Visit      = 0;
                    _softwareBusiness.Insert(software);
                    _softwareBusiness.Save();
                    return(RedirectToAction("Index"));
                }

                ViewBag.NewsImage = true;
                return(View(software));
            }

            return(View(software));
        }
示例#31
0
 public AudioPlayerViewModel(INavigation navigation = null) : base(navigation)
 {
     _localFile   = DependencyService.Get <ILocalFile>();
     _audioPlayer = DependencyService.Get <IAudioPlayerService>();
     _devicePermissionServices = DependencyService.Get <IDevicePermissionServices>();
     SetPageImageSize();
     MediaFiles       = new List <MediaFile>();
     CurrentMediaFile = new MediaFile();
     PlayButton       = ImageResizer.ResizeImage(TextResources.icon_media_play, ButtonImageSize);
     PauseButton      = ImageResizer.ResizeImage(TextResources.icon_media_pause, ButtonImageSize);
     StopButton       = ImageResizer.ResizeImage(TextResources.icon_media_stop, ButtonImageSize);
     NextButton       = ImageResizer.ResizeImage(TextResources.icon_media_next, ButtonImageSize);
     PreviousButton   = ImageResizer.ResizeImage(TextResources.icon_media_previous, ButtonImageSize);
     PlayPauseButton  = PlayButton;
     IsPlaying        = false;
     IsPause          = false;
     IsMediaExists    = false;
     CurrentSongIndex = 0;
     CrossMediaManager.Current.PlayingChanged += async(sender, e) =>
     {
         CurrentPosition = e.Progress;
         CurrentTimer    = e.Position.ToString(@"hh\:mm\:ss");
         TotalTimer      = e.Duration.ToString(@"hh\:mm\:ss");
         double TOLERANCE = 0;
         if (Math.Abs(e.Progress - 1) < TOLERANCE)
         {
             await PlayCurrent(Next());
         }
     };
 }
        public static Bitmap EmbedImage(string visibleImageFilename, string hiddenImageFilename)
        {
            Bitmap visibleImage = new Bitmap(visibleImageFilename);
            Bitmap hiddenImage  = new Bitmap(hiddenImageFilename);

            // TODO: don't need to resize to a half if hidden image is less than a half
            hiddenImage = ImageResizer.CropAndResizeBitmap(visibleImage.Size, hiddenImage, 0.5);
            Bitmap stegImage = new Bitmap(visibleImage.Width, visibleImage.Height);

            PixelMapper pixelMapper = new PixelMapper(visibleImage.Size, hiddenImage.Size);

            foreach (PixelMap pm in pixelMapper.GetHiddenToVisiblePixelMapEnumerator())
            {
                foreach (PixelBitsMap pbm in pm.VisibleImagePoints)
                {
                    BitArray r = copyChannel(visibleImage, hiddenImage, pm.HiddenImagePoint, pbm, Channel.R);
                    BitArray g = copyChannel(visibleImage, hiddenImage, pm.HiddenImagePoint, pbm, Channel.G);
                    BitArray b = copyChannel(visibleImage, hiddenImage, pm.HiddenImagePoint, pbm, Channel.B);

                    Color pixelColor = Color.FromArgb(r.ToInt(), g.ToInt(), b.ToInt());

                    stegImage.SetPixel(pbm.Point.X, pbm.Point.Y, pixelColor);
                }
            }

            return(stegImage);
        }
        private void SaveBitmap()
        {
            if (this.rotatedBitmap == null)
            {
                return;
            }

            if (!this.isChanged)
            {
                return;
            }

            MemoryStream stream = new MemoryStream();

            this.rotatedBitmap.Compress(Bitmap.CompressFormat.Png, 100, stream);
            ArticleDetailsActivity.imageLarge = stream.ToArray();


            byte[] resizedImage = ImageResizer.ResizeImageAndroid(this.rotatedBitmap, 48 * 2, 85 * 2);

            Bitmap smallBitmap = BitmapFactory.DecodeByteArray(resizedImage, 0, resizedImage.Length);

            stream = new MemoryStream();
            smallBitmap.Compress(Bitmap.CompressFormat.Png, 100, stream);
            ArticleDetailsActivity.imageSmall = stream.ToArray();

            Intent intent = new Intent();

            this.SetResult(Result.Ok, intent);

            this.rotatedBitmap = null;
            this.isChanged     = false;
        }
        public ActionResult Create(FoodGallery foodGallery, HttpPostedFileBase Image)
        {
            if (ModelState.IsValid)
            {
                #region Upload Image
                if (Image != null)
                {
                    // Saving Temp Image
                    var newFileName = Guid.NewGuid() + Path.GetExtension(Image.FileName);
                    Image.SaveAs(Server.MapPath("/Files/FoodImages/Temp/" + newFileName));
                    // Resize Image
                    ImageResizer image = new ImageResizer(800, 600, true);
                    image.Resize(Server.MapPath("/Files/FoodImages/Temp/" + newFileName),
                                 Server.MapPath("/Files/FoodImages/" + newFileName));

                    // Deleting Temp Image
                    System.IO.File.Delete(Server.MapPath("/Files/FoodImages/Temp/" + newFileName));

                    foodGallery.Image = newFileName;
                }
                #endregion
                _repo.Add(foodGallery);
                return(RedirectToAction("Index"));
            }
            //ViewBag.FoodId = foodGallery.FoodId;
            return(View(foodGallery));
        }
示例#35
0
        void Pipeline_Rewrite(IHttpModule sender, HttpContext context, ImageResizer.Configuration.IUrlEventArgs e)
        {
            if (e.QueryString["scache"] == null) e.QueryString["scache"] = "disk";

            if (e.VirtualPath.StartsWith("/rw/", StringComparison.OrdinalIgnoreCase)) e.VirtualPath = "/s3/resizer-web" + e.VirtualPath.Substring(3);
            if (e.VirtualPath.StartsWith("/ri/", StringComparison.OrdinalIgnoreCase)) e.VirtualPath = "/s3/resizer-images" + e.VirtualPath.Substring(3);
            if (e.VirtualPath.StartsWith("/un/", StringComparison.OrdinalIgnoreCase)) e.VirtualPath = "/remote/images.unsplash.com" + e.VirtualPath.Substring(3);
        }
示例#36
0
 private void ResizeAndCopyToSlideshowDirectory(string imagesDirectory)
 {
     string[] images = Directory.GetFiles(imagesDirectory);
     foreach (string image in images)
     {
         ImageResizer imageResizer = new ImageResizer(image);
         string pathToSlide = GetPathToSlideFromImage(image);
         imageResizer.ResizeAndSave(slideSize, pathToSlide);
     }
 }
示例#37
0
 void Pipeline_PreHandleImage(IHttpModule sender, HttpContext context, ImageResizer.Caching.IResponseArgs e)
 {
     if (!ImageResizer.ExtensionMethods.NameValueCollectionExtensions.Get<bool>(e.RewrittenQuerystring, "showbytes", false)) return;
     var old = e.ResizeImageToStream;
     ((ResponseArgs)e).ResizeImageToStream = delegate(Stream s) {
         MemoryStream ms = new MemoryStream(8096);
         old(ms);
         WriteTextInPng(ms.Length.ToString("N") + " bytes", s);
     };
 }
        public ActionResult Index(HttpPostedFileBase file)
        {
            var imageBytes = ReadFully(file.InputStream);
            var s3Client = new S3Client();
            var resizeSettings = new ResizeSettings
            {
                Settings = new List<ResizeSetting>
                {
                    new ResizeSetting
                    {
                        Name = "Large",
                        Width = 700,
                        ImageEncoding = ImageEncoding.Jpg90
                    },
                    new ResizeSetting
                    {
                        Name = "Small",
                        Width = 300,
                        ImageEncoding = ImageEncoding.Jpg90
                    },
                    new ResizeSetting
                    {
                        Name = "Thumb",
                        Width = 100,
                        Height = 100,
                        ImageEncoding = ImageEncoding.Jpg
                    }
                }
            };

            Parallel.ForEach(resizeSettings.Settings, resizeSetting =>
            {
                var imageResizer = new ImageResizer(imageBytes);
            
                string fileName = Path.GetFileNameWithoutExtension(file.FileName) + "_" + resizeSetting.Name + ".jpg";
                var resizedImage = resizeSetting.Height > 0
                    ? imageResizer.Resize(resizeSetting.Width, resizeSetting.Height, true, resizeSetting.ImageEncoding)
                    : imageResizer.Resize(resizeSetting.Width, resizeSetting.ImageEncoding);
                string result = s3Client.AddFile(fileName, new MemoryStream(resizedImage));
            });
            
            var vm = new AmazonViewModel
            {
                Filename = file.FileName,
                S3BaseUrl = Settings.Default.S3BaseUrl,
                CloudfrontBaseUrl = Settings.Default.CloudfrontBaseUrl,
                Bucket = Settings.Default.AWSPublicFilesBucket,
                ResizeSettings = resizeSettings
            };

            return View("Index", vm);
        }
 public static void InjectExceptionHandler(ImageResizer.Caching.ResponseArgs ra)
 {
     // Wrap the default ResizeImageToStream()
     var old = ra.ResizeImageToStream;
     ra.ResizeImageToStream = new ImageResizer.Caching.ResizeImageDelegate(delegate(Stream s)
     {
         // We *expect* an AlternateResponseException to be thrown,
         // that's why we injected this handler in the first place!
         try
         {
             old(s);
         }
         catch (AlternateResponseException rce)
         {
             ra.ResponseHeaders.ContentType = rce.ContentType;
             s.Write(rce.ResponseData, 0, rce.ResponseData.Length);
         }
     });
 }
 public void SmallImagesAreNotScaledDown()
 {
     foreach (uint offset in new[] { 0, 10, 1000 })
     {
         foreach (var sourceFile in Directory.GetFiles(TestdataDirectory, "*.jpg"))
         {
             var targetFile = Path.GetFileNameWithoutExtension(sourceFile) + "_s.jpg";
             using (var sourceImage = Image.FromFile(sourceFile))
             {
                 var targetMaxSize = (uint)Math.Max(sourceImage.Size.Height, sourceImage.Size.Width) + offset;
                 var resizer = new ImageResizer(75, 0.80f);
                 resizer.Resize(sourceFile, targetFile, targetMaxSize);
                 using (var targetImage = Image.FromFile(targetFile))
                 {
                     Assert.AreEqual(targetImage.Size, sourceImage.Size);
                 }
             }
         }
     }
 }
        public void Thumbails()
        {
            const uint TargetMaxSize = 250;
            var resizer = new ImageResizer(50, 0.50f);
            var sourceFiles = Directory.GetFiles(TestdataDirectory);
            Assert.Greater(sourceFiles.Length, 0);
            foreach (var sourceFile in sourceFiles)
            {
                Console.WriteLine(sourceFile);
                var sourceFileInfo = new FileInfo(sourceFile);
                var targetFileInfo = new FileInfo(Path.GetFileNameWithoutExtension(sourceFile) + "_s.jpg");
                Assert.DoesNotThrow(
                    () => resizer.Resize(sourceFileInfo.FullName, targetFileInfo.FullName, TargetMaxSize));
                Assert.IsTrue(targetFileInfo.Exists);
                Console.WriteLine("Compression Ratio : {0}", targetFileInfo.Length * 100.0 / sourceFileInfo.Length);
                Assert.Greater(targetFileInfo.Length, 0);
                Assert.Less(targetFileInfo.Length, sourceFileInfo.Length);

                using (var sourceImage = Image.FromFile(sourceFile))
                using (var targetImage = Image.FromFile(targetFileInfo.FullName))
                {
                    if (targetImage.Size.Height > targetImage.Size.Width)
                    {
                        Assert.AreEqual(targetImage.Size.Height, TargetMaxSize);
                    }
                    else
                    {
                        Assert.AreEqual(targetImage.Size.Width, TargetMaxSize);
                    }

                    // Aspect ratio
                    Assert.That(
                        targetImage.Size.Height / (double)targetImage.Size.Width, 
                        Is.EqualTo(sourceImage.Size.Height / (double)sourceImage.Size.Width).Within(0.009));
                }
            }
        }
示例#42
0
 public JpegThumbnailGenerator(ImageResizer resizer)
 {
     _resizer = resizer;
     _supportedfileTypes = new[] { ".jpg", ".jpeg", ".gif", ".png" };
     _supportedContentTypes = new[] { "image/jpeg", "image/jpg", "image/gif", "image/png", "image/pjepg" };
 }
示例#43
0
        private void ImageProcessing()
        {
            lstbDragAndDrop.AllowDrop = false;
            CheckDirsInList();

            string path;
            List<string> imageExts = new List<string> { ".jpeg", ".jpg", ".png", ".bmp" };
            Bitmap[] result=null;

            progressBar1.Minimum = 0;
            progressBar1.Maximum = FileList.Count;
            progressBar1.Value = 0;
            progressBar1.Visibility = Visibility.Visible;
            Task.Factory.StartNew(() =>
            {
                for (int i = 0; i < FileList.Count; i++)
                {
                    path = FileList[i];
                    result = null;
                    if (path.ToLowerInvariant().EndsWith(".9.png"))
                    {
                        NinePatchResizer nRes = new NinePatchResizer();
                        result = nRes.ResizeImage(path);
                    }
                    else if (imageExts.Contains(System.IO.Path.GetExtension(path).ToLowerInvariant()))
                    {
                        ImageResizer imRes = new ImageResizer();
                        result = imRes.ResizeImage(path);
                    }
                    CreateDir(path);
                    if (result != null)
                    {
                        ImageSaver imS = new ImageSaver();
                        //TODO: Do not retrive Sourse in Bitmap[]
                        imS.SaveImageArray(result, path);
                    }

                    Dispatcher.Invoke( new Action(()=>{ progressBar1.Value++; }), null);
                }
                FileList.Clear();
                Dispatcher.Invoke(new Action( () =>
                    {
                        MessageBox.Show(Application.Current.MainWindow,"Check Folder with Your Image(s).", "9 Patch Resizer: \"Resizing succed.\"");
                        txtHint.Text = "DragDrop Your Images or 9Patches";
                        progressBar1.Visibility = Visibility.Hidden;
                        lstbDragAndDrop.AllowDrop = true;
                    }), null);
            });
        }
示例#44
0
 /// <summary>
 /// The method to override if you want to replace the entire pipeline.
 /// All Build() calls call this method first. 
 /// Does nothing in ImageBuilder
 /// </summary>
 /// <param name="job"></param>
 /// <returns></returns>
 protected virtual RequestedAction BuildJob(ImageResizer.ImageJob job)
 {
     if (exts != null)
         foreach (AbstractImageProcessor p in exts)
             if (p.BuildJob(job) == RequestedAction.Cancel)
                 return RequestedAction.Cancel;
     return RequestedAction.None;
 }
    protected void UploadImage()
    {
        ImageResizer fullSizeImage = new ImageResizer(ImageFileUpload.PostedFile.InputStream, 75, 300, 250);
        ImageResizer thumbnailImage = new ImageResizer(ImageFileUpload.PostedFile.InputStream, 75, 120, 100);
        string fileName = ImageFileUpload.FileName;
        int fileNameIncrement = 0;
        int splitOn = fileName.LastIndexOf('.');
        int fileNameLength = fileName.Length;
        string fileNameBefore = fileName.Substring(0, (splitOn));
        string file_ext = "jpg";
        string file = fileNameBefore + "-" + fileNameIncrement + "." + file_ext;
        string saveTo = Path.Combine(Server.MapPath("~/uploads"), file);
        string thumbNailFile = fileNameBefore + "-" + fileNameIncrement + "_thumb." + file_ext;
        string thumbNailSaveTo = Path.Combine(Server.MapPath("~/uploads"), thumbNailFile);
        FileInfo fi = new FileInfo(saveTo);
        FileInfo thumbFi = new FileInfo(thumbNailSaveTo);

        while (fi.Exists)
        {
            file = fileNameBefore + "-" + fileNameIncrement + "." + file_ext;
            saveTo = Path.Combine(Server.MapPath("~/uploads"), file);
            fi = new FileInfo(saveTo);

            thumbNailFile = fileNameBefore + "-" + fileNameIncrement + "_thumb." + file_ext;
            thumbNailSaveTo = Path.Combine(Server.MapPath("~/uploads"), thumbNailFile);
            thumbFi = new FileInfo(thumbNailSaveTo);

            if (fi.Exists)
            {
                fileNameIncrement++;
            }
        }

        fullSizeImage.Save(saveTo);
        thumbnailImage.Save(thumbNailSaveTo);

        ConnectionStringSettings connectionStringSettings = ConfigurationManager.ConnectionStrings["MainDatabase"];
        SqlConnection cnn = new SqlConnection(connectionStringSettings.ConnectionString);
        SqlCommand InsertCommand = new SqlCommand();
        InsertCommand.Connection = cnn;
        string sql;
        sql = "INSERT INTO UserProfileImages (UserName, IsMain, BaseFileName) VALUES ('" + Profile.UserName + "', '1', '" + fileNameBefore + "-" + fileNameIncrement + "')";
        InsertCommand.CommandText = sql;
        try
        {
            cnn.Open();
            InsertCommand.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            Response.Write(ex.ToString());
        }
        finally
        {
            cnn.Close();
        }
    }
示例#46
0
        public Stream GetImage(Photo photo, ResizeMode type, int size)
        {
            // クラウドに送り込んだ?
            if (!photo.IsUploaded)
                return null;

            // 処理中?
            //if (!_processing.Lock(photo.Id))
            //{
            //    var dump = string.Format("[id = {0}, type = {1}, size = {2}]", photo.Id, type, size);
            //    Trace.WriteLine(" can't get lock - " + dump + " : " + DateTime.Now);
            //    return null;
            //}

            // ファイルがあるなら即返す
            var loadName = GenerateFileName(photo.FileName, type, size);
            var loadPath = CacheFullPath(loadName);
            var entry = new StorageEntry(photo);
            var resizer = new ImageResizer();
            if (!File.Exists(loadPath))
            {
                // キャッシュになければStorageから取り出す。
                var cacheName = RetrieveCache(photo.FileName);
                if (string.IsNullOrEmpty(cacheName))
                    return null;

                // 最適化して回転する
                var optName = GenerateFileName(photo.FileName, ResizeMode.Optimize);
                var optPath = CacheFullPath(optName);
                resizer.Optimize(cacheName, optPath);

                // ローカルキャッシュにリサイズしたものを取得
                GenerateResize(optPath, loadName, type, size);
            }
            //_processing.Unlock(photo.Id);

            var bytes = entry.Load(CachePath, loadName);

            return bytes == null ? null : new MemoryStream(bytes);
        }
示例#47
0
        public void 画像を自動回転()
        {
            if (!IsLocal)
                return;

            var files = Directory.GetFiles(TestContext.DeploymentDirectory, "*.jpg");
            var resizer = new ImageResizer();

            foreach (var file in files)
            {
                var baseDir = TestContext.TestDir;
                var path = Path.Combine(baseDir, "orientation-" + Path.GetFileName(file));

                // 実行できたなら結果は目視でいいんじゃん?
                resizer.Optimize(file, path);

                Assert.IsTrue(File.Exists(path));
            }
        }
示例#48
0
 public bool Uninstall(ImageResizer.Configuration.Config c)
 {
     c.Plugins.remove_plugin(this);
     c.Pipeline.PreHandleImage -= Pipeline_PreHandleImage;
     return true;
 }
示例#49
0
 //
 // GET: /Images/
 public ImagesController(NHibernateContext nHibernateContext, IFileSystem fileSystem, ImageResizer imageResizer)
     : base(nHibernateContext)
 {
     _fileSystem = fileSystem;
     _imageResizer = imageResizer;
 }
示例#50
0
 public void CreateThumbnail(string path)
 {
     ImageResizer imageResizer = new ImageResizer(path);
     var thumbnailPath = GetThumbnailPath(path);
     imageResizer.ResizeAndSave(ThumbnailSize, thumbnailPath);
 }
 public void testResize()
 {
     String testPath = "testResize/";
     String[] pictures = Directory.GetFiles(testPath);
     int testWidth = 60;
     int testHeight = 30;
     ImageResizer iR = new ImageResizer(testPath, testWidth, testHeight);
     iR.execute();
     String directory = "Resized/";
     String[] resizedPictures = Directory.GetFiles(directory);
     Assert.AreEqual(resizedPictures.Length, pictures.Length, "Some images were not resized");
     Size testSize = new Size(testWidth, testHeight);
     for (int i = 0; i < resizedPictures.Length; i++)
     {
         Size finalImages = new Bitmap(resizedPictures[i]).Size;
         Assert.AreEqual(testSize, finalImages, "The image was resized to the wrong size");
     }
 }
示例#52
0
        public void 小さすぎる画像を100ピクセルにリサイズ()
        {
            if (!IsLocal)
                return;

            var resizer = new ImageResizer();
            var baseDir = TestContext.TestDir;
            var name = "little.png";
            var path = Path.Combine(TestContext.DeploymentDirectory, name);
            Assert.IsTrue(resizer.Resize(path, ResizeMode.Fit, 100, Path.Combine(baseDir, "fit-" + name)));
            Assert.IsTrue(resizer.Resize(path, ResizeMode.Clip, 100, Path.Combine(baseDir, "clip-" + name)));
        }
    void btnSaveNewImage_Click(object sender, EventArgs e)
    {
        this.lblErrMsg.Text = string.Empty;

        int order = 0;
        if (!String.IsNullOrEmpty(tbNewOrder.Text))
        {
            if (!Int32.TryParse(tbNewOrder.Text, out order))
            {
                this.lblErrMsg.Text = "Redni broj mora biti broj.";
                return;
            }
        }

        object sesobj = Session["imageuploadpreview"];
        Validate("uploadimage");

        if (Page.IsValid && sesobj != null)
        {
            Session.Remove("imageuploadpreview");

            byte[] buffer = (byte[])sesobj;
            MemoryStream ms = new MemoryStream(buffer);
            System.Drawing.Bitmap bmp = (System.Drawing.Bitmap)System.Drawing.Image.FromStream(ms);

            var cropinfo = (from p in hfCrop.Value.Split(',')
                            select int.Parse(p)).ToArray();

            if (cropinfo[2] != 0 && cropinfo[3] != 0)
            {
                bmp = bmp.Clone(new System.Drawing.Rectangle(cropinfo[0], cropinfo[1], cropinfo[2], cropinfo[3]), bmp.PixelFormat);
            }

            ImageResizer resizer = new ImageResizer();
            resizer.OutputFormat = ImageFormat.Jpeg;
            resizer.ImgQuality = IMAGE_QUALITY;
            resizer.MaxHeight = IMAGE_MAX_H;
            resizer.MaxWidth = IMAGE_MAX_W;

            byte[] imgRes = resizer.Resize(bmp);

            bmp.Dispose();
            ms.Dispose();

            string ext = ".jpg";    // ImageResizer zapravo sve onak postavlja na jpg
            string title = this.tbNewTitle.Text.Trim();
            string desc = this.tbNewDesc.Text.Trim();
            string alt = GetOffer().OfferName + " " + title;

            Collective.OfferImage newImg = Collective.OfferImage.CreateImage(title, desc, alt, GetOffer().OfferId, order, cbNewActive.Checked,
            (OFFER_IMAGE_UPLOAD_PATH.Last() == '/' ? OFFER_IMAGE_UPLOAD_PATH : OFFER_IMAGE_UPLOAD_PATH + "/"), ext);

            string saveLocation = Server.MapPath(newImg.Src);
            if (!System.IO.Directory.Exists(saveLocation)) System.IO.Directory.CreateDirectory(Path.GetDirectoryName(saveLocation));

            File.WriteAllBytes(saveLocation, imgRes);

            imgThumb.Visible = false;
            this.tbNewTitle.Text = this.tbNewDesc.Text = this.tbNewOrder.Text = string.Empty;
            this.cbNewActive.Checked = false;

            FillGrid();
            this.upListImages.Update();
            this.hfEditItemIndex.Value = this.hfLastEditItemIndex.Value = string.Empty;
        }
    }
示例#54
0
    protected void btnUploadAccommImage_Click(object sender, EventArgs e)
    {
        object sesobj = Session["imageuploadpreview"];
        Session.Remove("imageuploadpreview");
        Validate("uploadimage");
        if (IsValid && sesobj != null)
        {
            byte[] buffer = (byte[])sesobj;
            MemoryStream ms = new MemoryStream(buffer);
            System.Drawing.Bitmap bmp = (System.Drawing.Bitmap)System.Drawing.Image.FromStream(ms);

            var cropinfo = (from p in hfCrop.Value.Split(',')
                            select int.Parse(p)).ToArray();

            bmp = bmp.Clone(new System.Drawing.Rectangle(cropinfo[0], cropinfo[1], cropinfo[2], cropinfo[3]), bmp.PixelFormat);

            ImageResizer resizer = new ImageResizer();
            resizer.OutputFormat = ImageFormat.Jpeg;
            resizer.ImgQuality = IMAGE_QUALITY;
            resizer.MaxHeight = IMAGE_MAX_H;
            resizer.MaxWidth = IMAGE_MAX_W;

            byte[] imgRes = resizer.Resize(bmp);

            bmp.Dispose();

            string title = tbxAddAccomImageTitle.Text.Trim();
            string description = tbxAddAccomImageDescription.Text.Trim();

            string fileName = String.Format("accomm_{0}_image_{1}.jpg", accommodation.Name.Replace(' ', '_').Replace('+','-'), "{0}");
            string filePath = ACCOMIMAGE_UPLOAD_PATH.Last() == '/' ? ACCOMIMAGE_UPLOAD_PATH : ACCOMIMAGE_UPLOAD_PATH + "/";

            string srcLocation = filePath + fileName;

            UltimateDC.Image image = new UltimateDC.Image() { Src = "", Alt = "" };
            dc.Images.InsertOnSubmit(image);

            //Nakon submitchanges se pojavi id u image, a to mi treba za filename i src atribut
            dc.SubmitChanges();
            srcLocation = string.Format(srcLocation, image.Id);

            image.Src = string.Format(srcLocation, image.Id);
            image.Alt = accommodation.Name + " " + title;
            image.Title = title;
            image.Description = description;

            AccommodationImage accommImage = new AccommodationImage();
            dc.AccommodationImages.InsertOnSubmit(accommImage);
            accommImage.Image = image;
            accommImage.Accommodation = accommodation;

            dc.SubmitChanges();

            string saveLocation = Server.MapPath(srcLocation);
            if (!System.IO.Directory.Exists(saveLocation)) System.IO.Directory.CreateDirectory(Path.GetDirectoryName(saveLocation));

            File.WriteAllBytes(saveLocation, imgRes);

            imgThumb.Visible = false;

            RefreshImages();
        }
    }
示例#55
0
        public void 画像を100ピクセルにリサイズ()
        {
            if (!IsLocal)
                return;

            var files = Directory.GetFiles(TestContext.DeploymentDirectory, "*.jpg");
            var resizer = new ImageResizer();

            var baseDir = TestContext.TestDir;
            foreach (var file in files)
            {
                var name = Path.GetFileName(file);
                var path = Path.Combine(baseDir, "opt-" + name);

                // 実行できたなら結果は目視でいいんじゃん?
                resizer.Optimize(file, path);
                Assert.IsTrue(resizer.Resize(path, ResizeMode.Fit, 100, Path.Combine(baseDir, "fit-" + name)));
                Assert.IsTrue(resizer.Resize(path, ResizeMode.Clip, 100, Path.Combine(baseDir, "clip-" + name)));
            }
        }
示例#56
0
    private void UploadAndSetLogo(UltimateDC.Agency agency)
    {
        if (fuLogo.HasFile)
        {
            HttpPostedFile file = fuLogo.PostedFile;
            if (Common.IsImage(file.ContentType))
            {
                string fileName = String.Format("logo_{0}_{1}{2}", agency.Name.Replace(' ', '_').Replace('+','-'), agency.Id, Path.GetExtension(file.FileName));
                string filePath = LOGO_UPLOAD_PATH.Last() == '/' ? LOGO_UPLOAD_PATH : LOGO_UPLOAD_PATH + "/";

                string srcLocation = filePath + fileName;
                string saveLocation = Server.MapPath(srcLocation);

                ImageResizer resizer = new ImageResizer();
                resizer.OutputFormat = ImageFormat.Jpeg;
                resizer.ImgQuality = IMAGE_QUALITY;
                resizer.MaxHeight = IMAGE_MAX_H;
                resizer.MaxWidth = IMAGE_MAX_W;

                byte[] imgRes = resizer.Resize(file);

                if (!System.IO.Directory.Exists(saveLocation)) System.IO.Directory.CreateDirectory(Path.GetDirectoryName(saveLocation));
                File.WriteAllBytes(saveLocation, imgRes);

                UltimateDC.Image logo;

                if (agency.Image == null)
                {
                    logo = new UltimateDC.Image();
                    dc.Images.InsertOnSubmit(logo);
                }
                else
                {
                    logo = agency.Image;
                    string oldSaveLocation = Server.MapPath(logo.Src);
                    if (oldSaveLocation != saveLocation && File.Exists(oldSaveLocation))
                        File.Delete(oldSaveLocation);
                }
                logo.Src = srcLocation;
                logo.Alt = String.Format("{0} logo", agency.Name);
                agency.Image = logo;
            }

        }
    }
    protected void UploadButton_Click(object sender, EventArgs e)
    {
        if (ImageFileUpload.HasFile == false)
        {
            Label2.Text = "You must select and image before trying to upload it.";
            return;
        }

        try
        {
            Bitmap testBmp = new Bitmap(ImageFileUpload.PostedFile.InputStream, true);
        }
        catch (ArgumentException errArgument)
        {
            // The file wasn't a valid jpg file
            Label2.Text = "The selected file wasn't a valid image.";
            return;
        }

        ImageResizer fullSizeImage = new ImageResizer(ImageFileUpload.PostedFile.InputStream, 75, 300, 250);
        ImageResizer thumbnailImage = new ImageResizer(ImageFileUpload.PostedFile.InputStream, 75, 120, 100);
        string fileName = ImageFileUpload.FileName;
        int fileNameIncrement = 0;
        int splitOn = fileName.LastIndexOf('.');
        int fileNameLength = fileName.Length;
        string fileNameBefore = fileName.Substring(0, (splitOn));
        string file_ext = "jpg";
        string file = fileNameBefore + "-" + fileNameIncrement + "." + file_ext;
        string saveTo = Path.Combine(Server.MapPath("~/uploads"), file);
        string thumbNailFile = fileNameBefore + "-" + fileNameIncrement + "_thumb." + file_ext;
        string thumbNailSaveTo = Path.Combine(Server.MapPath("~/uploads"), thumbNailFile);
        FileInfo fi = new FileInfo(saveTo);
        FileInfo thumbFi = new FileInfo(thumbNailSaveTo);

        while (fi.Exists)
        {
            file = fileNameBefore + "-" + fileNameIncrement + "." + file_ext;
            saveTo = Path.Combine(Server.MapPath("~/uploads"), file);
            fi = new FileInfo(saveTo);

            thumbNailFile = fileNameBefore + "-" + fileNameIncrement + "_thumb." + file_ext;
            thumbNailSaveTo = Path.Combine(Server.MapPath("~/uploads"), thumbNailFile);
            thumbFi = new FileInfo(thumbNailSaveTo);

            if (fi.Exists)
            {
                fileNameIncrement++;
            }
        }

        fullSizeImage.Save(saveTo);
        thumbnailImage.Save(thumbNailSaveTo);

        ConnectionStringSettings connectionStringSettings = ConfigurationManager.ConnectionStrings["MainDatabase"];
        SqlConnection cnn = new SqlConnection(connectionStringSettings.ConnectionString);
        SqlCommand InsertCommand = new SqlCommand();
        InsertCommand.Connection = cnn;
        string sql;
        sql = "INSERT INTO UserProfileImages (UserName, BaseFileName) VALUES ('" + Profile.UserName + "', '" + fileNameBefore + "-" + fileNameIncrement + "')";
        InsertCommand.CommandText = sql;
        try
        {
            cnn.Open();
            InsertCommand.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            Response.Write(ex.ToString());
        }
        finally
        {
            cnn.Close();
        }

        DataList1.DataBind();
    }
示例#58
0
 public void NormalizeImage()
 {
     ImageResizer imageResizer = new ImageResizer(pathOfImage);
     imageResizer.ResizeAndSave(new Size(NormalizedImageWidth, NormalizedImageHeight));
 }
示例#59
0
 private void GenerateResize(string cacheName, string resizeName, ResizeMode type, int size)
 {
     var resizer = new ImageResizer();
     var resizePath = CacheFullPath(resizeName);
     if (type != ResizeMode.Original && !File.Exists(resizePath))
     {
         resizer.Resize(cacheName, type, size, resizePath);
     }
 }
示例#60
0
        /// <summary>
        /// Internal use only.
        /// Resolves the specified (potenetially templated) path into a physical path. 
        /// Applies the AddFileExtension setting using the 'ext' variable.
        /// Supplies the guid, settings.*, filename, path, and originalExt variables. 
        /// The resolver method should supply 'ext', 'width', and 'height' (all of which refer to the final image).
        /// If AllowDestinationPathVariables=False, only AddFileExtenson will be processed.
        /// </summary>
        /// <param name="path"></param>
        /// <param name="resolver"></param>
        /// <returns></returns>
        public string ResolveTemplatedPath(string path, ImageResizer.Util.PathUtils.VariableResolverCallback resolver)
        {
            if (!AllowDestinationPathVariables) {
                //Only add the extension if requested when variables are turned off.
                return PathUtils.MapPathIfAppRelative(path + (AddFileExtension ? ("." + resolver("ext")) : ""));
            }
            if (this.AddFileExtension) path = path + ".<ext>";
            path = PathUtils.ResolveVariablesInPath(path, delegate(string p) {
                //Let the 'resolver' passed to this method take precedence - we provide default values.
                string result = resolver(p);
                if (result != null) return result;
                //GUID in lowercase hexadecimal with no hyphens
                if ("guid".Equals(p, StringComparison.OrdinalIgnoreCase))
                    return Guid.NewGuid().ToString("N", NumberFormatInfo.InvariantInfo);
                //Access to the settings collection
                string settingsPrefix = "settings.";
                if (p.StartsWith(settingsPrefix, StringComparison.OrdinalIgnoreCase)) {
                    string subName = p.Substring(settingsPrefix.Length);
                    return Instructions[subName];
                }
                //Access to the instructions collection
                string instructionsPrefix = "instructions.";
                if (p.StartsWith(instructionsPrefix, StringComparison.OrdinalIgnoreCase))
                {
                    string subName = p.Substring(instructionsPrefix.Length);
                    return Instructions[subName];
                }
                if ("filename".Equals(p,StringComparison.OrdinalIgnoreCase)){
                    if (SourcePathData == null) throw new ImageProcessingException("You cannot use the <filename> variable in a job that does not have a source filename, such as with a Stream or Bitmap instance");
                    return Path.GetFileNameWithoutExtension(SourcePathData);
                }
                if ("dir".Equals(p, StringComparison.OrdinalIgnoreCase)) {
                    if (SourcePathData == null) throw new ImageProcessingException("You cannot use the <dir> variable in a job that does not have a source filename, such as with a Stream or Bitmap instance");
                    return Path.GetDirectoryName(SourcePathData); //Just remove the last segment
                }
                if ("path".Equals(p, StringComparison.OrdinalIgnoreCase)) {
                    if (SourcePathData == null) throw new ImageProcessingException("You cannot use the <path> variable in a job that does not have a source filename, such as with a Stream or Bitmap instance");
                    return PathUtils.RemoveExtension(SourcePathData); //Just remove the last segment
                }
                if ("originalext".Equals(p, StringComparison.OrdinalIgnoreCase)) {
                    if (SourcePathData == null) throw new ImageProcessingException("You cannot use the <originalext> variable in a job that does not have a source filename, such as with a Stream or Bitmap instance");
                    return PathUtils.GetExtension(SourcePathData); //Just remove the last segment
                }

                return null;
            });
            return PathUtils.MapPathIfAppRelative(path);
        }