protected void ProcessImage() { // Setup the source file name and the output file name string sourceImageFileName = this.imgSource.ImageUrl; string outputImageFileName = "~/repository/output/Ex_A_202.jpg"; // Setup the resize filter ResizeConstraint resizeFilter = null; switch (this.ddlResizeMode.SelectedValue) { case "Fixed": FixedResizeConstraint fixedResizeFilter = null; switch (this.ddlConstraints_Fixed.SelectedIndex) { case 0: // 100 x 100 Pixel fixedResizeFilter = new FixedResizeConstraint(100, 100); break; case 1: // 150 x 250 Pixel fixedResizeFilter = new FixedResizeConstraint(150, 250); break; case 2: // 580 x 500 Pixel fixedResizeFilter = new FixedResizeConstraint(580, 500); break; case 3: // 2 x 2 Inch fixedResizeFilter = new FixedResizeConstraint(GfxUnit.Inch, 2F, 2F); break; } // Default value = Fit if (this.ddlFixedImagePosition.SelectedValue != "Fit") { fixedResizeFilter.ImagePosition = (FixedResizeConstraintImagePosition)Enum.Parse(typeof(FixedResizeConstraintImagePosition), this.ddlFixedImagePosition.SelectedValue); } // Default value = White Color canvasColor = System.Drawing.ColorTranslator.FromHtml(this.txtFixedCanvasColor.Text); if (canvasColor != Color.FromArgb(255, 255, 255, 255)) { fixedResizeFilter.CanvasColor = canvasColor; } // Default value = EnlargeSmallImages:true if (!this.cbFixedEnlargeSmallImages.Checked) { fixedResizeFilter.EnlargeSmallImages = this.cbFixedEnlargeSmallImages.Checked; } resizeFilter = fixedResizeFilter; break; case "Scaled": ScaledResizeConstraint scaledResizeFilter = null; switch (this.ddlConstraints_Scaled.SelectedIndex) { case 0: // 100 x 100 Pixel scaledResizeFilter = new ScaledResizeConstraint(100, 100); break; case 1: // 150 x 250 Pixel scaledResizeFilter = new ScaledResizeConstraint(150, 250); break; case 2: // 580 x 500 Pixel scaledResizeFilter = new ScaledResizeConstraint(580, 500); break; case 3: // 2 x 2 Inch scaledResizeFilter = new ScaledResizeConstraint(GfxUnit.Inch, 2F, 2F); break; } // Default value = EnlargeSmallImages:true if (!this.cbScaledEnlargeSmallImages.Checked) { scaledResizeFilter.EnlargeSmallImages = this.cbScaledEnlargeSmallImages.Checked; } resizeFilter = scaledResizeFilter; break; } // Process the image resizeFilter.SaveProcessedImageToFileSystem(sourceImageFileName, outputImageFileName); // Update the displayed image (add a timestamp parameter to the query URL to ensure that the image is reloaded by the browser) this.imgOutput.ImageUrl = outputImageFileName + "?timestamp=" + DateTime.UtcNow.Ticks.ToString(); // Display the generated image this.phOutputContainer.Visible = true; }