示例#1
0
        public ContentResult imgpress(string name, int height, int width, int per)
        {
            string sourceFile = Server.MapPath("~/Content/images/" + name); //源图存放目录
            string newNewDir  = Server.MapPath("~/Content/pressimg/");      //新图存放目录

            string newFile = string.Empty;                                  //新图路径
            string result  = "";
            string n       = name.Substring(0, name.Length - 4);

            newFile = Path.Combine(newNewDir, n + "w_定高按宽度缩放.jpg");
            bool r = ImageCompress.Thumbnail(sourceFile, newFile, height, width, 80, ImageCompress.ZoomType.H);

            result += r.ToString();

            newFile = Path.Combine(newNewDir, n + "w_定宽按高度缩放.jpg");
            r       = ImageCompress.Thumbnail(sourceFile, newFile, height, width, 80, ImageCompress.ZoomType.W);
            result += r.ToString();

            newFile = Path.Combine(newNewDir, n + "wh_指定高宽缩放.jpg");
            r       = ImageCompress.Thumbnail(sourceFile, newFile, height, width, 80, ImageCompress.ZoomType.WH);
            result += r.ToString();

            newFile = Path.Combine(newNewDir, n + "wh_指定高宽裁剪.jpg");
            r       = ImageCompress.Thumbnail(sourceFile, newFile, height, width, 80, ImageCompress.ZoomType.Cut);
            result += r.ToString();

            newFile = Path.Combine(newNewDir, n + "原图%" + per + ".jpg");
            r       = ImageCompress.Cut(sourceFile, newFile, height, width, per, true);
            result += r.ToString();

            newFile = Path.Combine(newNewDir, n + "h_w指定高宽缩放.jpg");
            r       = ImageCompress.Cut(sourceFile, newFile, height, width, 30, false);
            result += r.ToString();

            newFile = Path.Combine(newNewDir, n + "正方形裁剪.jpg");
            ImageCutZoom.CutForSquare(sourceFile, newFile, 200, 90);
            newFile = Path.Combine(newNewDir, n + "180_240.jpg");
            ImageCutZoom.CutForCustom(sourceFile, newFile, 240, 180, 100);
            newFile = Path.Combine(newNewDir, n + "等比180_240.jpg");
            ImageCutZoom.ZoomAuto(sourceFile, newFile, 240, 180, "", "");
            return(Content(result));
        }
示例#2
0
        public override int Process(UploadImageContext context)
        {
            _logger.Debug("ImageThumbnailProcess");

            try
            {
                Size   thumbnailSize = GetThumbnailSize(context.ImageStream);
                var    stream        = ImageCompress.CompressImage(context.ImageFormat, context.ImageStream, thumbnailSize, false);
                string fileName      = FileUtils.SaveImage(stream, context.ImageExt, ImageStoreSettings.ThumbDir);
                context.ThumbUrl = ImageStoreSettings.ThumbUrl + fileName;

                _logger.InfoFormat("ImageSourceProcesser Complete, fileName:{0}, compressUrl:{1}", fileName, context.CompressUrl);
            }
            catch (Exception e)
            {
                _logger.Error(e.Message);
                return(ImageErrorMessage.ImageUndefinedError);
            }

            return(NextProcesser.Process(context));
        }
示例#3
0
        public override int Process(UploadImageContext context)
        {
            _logger.Info("ImageCompressionProcesser");

            try
            {
                Size size = GetImageSize(context);

                var stream = ImageCompress.CompressImage(context.ImageFormat, context.ImageStream, size, true);

                string fileName = FileUtils.SaveImage(stream, context.ImageExt, ImageStoreSettings.CompressDir);
                context.CompressUrl = ImageStoreSettings.CompressUrl + fileName;

                _logger.InfoFormat("ImageCompressionProcesser Complete, fileName:{0}, compressUrl:{1}", fileName, context.CompressUrl);
            }
            catch (Exception e)
            {
                _logger.Error(e.Message);
                _logger.Error(e.StackTrace);
                return(ImageErrorMessage.ImageUndefinedError);
            }

            return(NextProcesser.Process(context));
        }
示例#4
0
 private Size GetThumbnailSize(Stream stream)
 {
     return(ImageCompress.GetSizeByType(stream, ImageConstants.MaxSmallimageWidth, ImageConstants.MaxSmallimageHeight));
 }