当前位置: 首页>>代码示例>>C#>>正文


C# WebImage.CropAndResize方法代码示例

本文整理汇总了C#中System.Web.Helpers.WebImage.CropAndResize方法的典型用法代码示例。如果您正苦于以下问题:C# WebImage.CropAndResize方法的具体用法?C# WebImage.CropAndResize怎么用?C# WebImage.CropAndResize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Web.Helpers.WebImage的用法示例。


在下文中一共展示了WebImage.CropAndResize方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: UploadImage

        public IImageContainer UploadImage(UploadImageModel model, System.Web.HttpPostedFile postedFile)
        {
            var user = _userService.GetCurrentUserId();
            var userImage = new UserImage()
            {
                UserImageType = model.UserImageType,
                CreatedDate = DateTime.UtcNow,
                CreatedBy = user
            };

            var uploadSettings = RcConfiguration.ImageUpload.GetSettings(model.UserImageType);
            byte[] fileData;
            string hash;

            if (_fileUploadService.ConvertFileToByteArray(postedFile.InputStream, postedFile.ContentLength, out fileData,
                out hash) == false)
            {
                return null;
            }

            try
            {
                var sourceImage = new WebImage(fileData);
                var imageFormat = WebImageHelper.ResolveImageFormat(sourceImage.ImageFormat);

                userImage.SourceHash = hash;
                userImage.SourceHeight = sourceImage.Height;
                userImage.SourceWidth = sourceImage.Width;

                var container = _fileUploadService.GetImageStorageContainer();

                if (uploadSettings.StoreSource)
                {
                    Uri sourceUri = null;
                    if (SaveImage(container, user, model.UserImageType, hash, "source", sourceImage, imageFormat, sourceImage.ImageFormat, out sourceUri) == false)
                    {
                        return null;
                    }
                    userImage.SourceUrl = RcConfiguration.Common.CdnEndpointUrl + sourceUri.AbsolutePath;
                }

                if (uploadSettings.StoreNormal)
                {
                    var normalImage = sourceImage.ResizeByMaxDimensionsWithStretch(uploadSettings.NormalWidth, uploadSettings.NormalHeight);

                    userImage.NormalHeight = normalImage.Height;
                    userImage.NormalWidth = normalImage.Width;

                    Uri normalUri = null;
                    if (SaveImage(container, user, model.UserImageType, hash, "page", normalImage, imageFormat, sourceImage.ImageFormat, out normalUri) == false)
                    {
                        return null;
                    }
                    userImage.NormalUrl = RcConfiguration.Common.CdnEndpointUrl + normalUri.AbsolutePath;
                }

                if (uploadSettings.StoreThumb)
                {
                    var thumbImage = sourceImage.CropAndResize(uploadSettings.ThumbWidth, uploadSettings.ThumbHeight);

                    userImage.ThumbHeight = thumbImage.Height;
                    userImage.ThumbWidth = thumbImage.Width;

                    Uri thumbUri = null;
                    if (SaveImage(container, user, model.UserImageType, hash, "thumb", thumbImage, imageFormat, sourceImage.ImageFormat, out thumbUri) == false)
                    {
                        return null;
                    }
                    userImage.ThumbUrl = RcConfiguration.Common.CdnEndpointUrl + thumbUri.AbsolutePath;
                }

                _session.Store(userImage);

                // save image to an object
                switch (model.UserImageType)
                {
                    default:
                        throw new ArgumentOutOfRangeException();
                }

            }
            catch (Exception exception)
            {
                _logger.Error(exception, "Error in processing image");
                return null;
            }
        }
开发者ID:mvvm,项目名称:rcms,代码行数:87,代码来源:ImageUploadService.cs


注:本文中的System.Web.Helpers.WebImage.CropAndResize方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。