示例#1
0
        public bool TryGetContentType(IFormatInfo originalFormat, HttpRequestBase request, IFormatInfoProvider formatInfoProvider, out IFormatInfo transformedFormat, out BitmapEncoder encoder)
        {
            var format = request.QueryString["format"];

            if (string.IsNullOrEmpty(format))
            {
                format = originalFormat.Extension.Substring(1);
            }

            switch (format.ToLower())
            {
            case "jpg":
                int quality;
                if (!int.TryParse(request.QueryString["quality"], out quality) || quality <= 0 || quality > 100)
                {
                    quality = 80;
                }

                transformedFormat = formatInfoProvider.ResolveFromExtension(".jpg");
                encoder           = new JpegBitmapEncoder {
                    QualityLevel = quality
                };
                return(transformedFormat != null);

            case "png":
                transformedFormat = formatInfoProvider.ResolveFromExtension(".png");
                encoder           = new PngBitmapEncoder();
                return(transformedFormat != null);

            default:
                transformedFormat = null;
                encoder           = null;
                return(false);
            }
        }
        public bool TryGetContentType(IFormatInfo originalFormat, HttpRequestBase request, IFormatInfoProvider formatInfoProvider, out IFormatInfo transformedFormat, out BitmapEncoder encoder)
        {
            var format = request.QueryString["format"];
            if (string.IsNullOrEmpty(format))
            {
                format = originalFormat.Extension.Substring(1);
            }

            switch (format.ToLower())
            {
                case "jpg":
                    int quality;
                    if (!int.TryParse(request.QueryString["quality"], out quality) || quality <= 0 || quality > 100)
                    {
                        quality = 80;
                    }

                    transformedFormat = formatInfoProvider.ResolveFromExtension(".jpg");
                    encoder = new JpegBitmapEncoder { QualityLevel = quality };
                    return transformedFormat != null;

                case "png":
                    transformedFormat = formatInfoProvider.ResolveFromExtension(".png");
                    encoder = new PngBitmapEncoder();
                    return transformedFormat != null;

                default:
                    transformedFormat = null;
                    encoder = null;
                    return false;
            }
        }
        protected override bool TryGetOutputFormat(HttpRequestBase request, IFormatInfo originalFormat, IFormatInfoProvider formatInfoProvider, out IFormatInfo outputFormat)
        {
            var format = request.QueryString["format"];
            if (string.Equals(format, "exif-xml", StringComparison.InvariantCultureIgnoreCase))
            {
                outputFormat = formatInfoProvider.ResolveFromExtension(".xml");
                return outputFormat != null;
            }

            outputFormat = null;
            return false;
        }
        protected override bool TryGetOutputFormat(HttpRequestBase request, IFormatInfo originalFormat, IFormatInfoProvider formatInfoProvider, out IFormatInfo outputFormat)
        {
            var format = request.QueryString["format"];

            if (string.Equals(format, "exif-json", StringComparison.InvariantCultureIgnoreCase))
            {
                outputFormat = formatInfoProvider.ResolveFromExtension(".json");
                return(outputFormat != null);
            }

            outputFormat = null;
            return(false);
        }