示例#1
0
    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;
    }
    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;
    }