加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

如何在ASP.NET应用程序中有效地缩放和裁剪图像?

发布时间:2020-12-16 07:25:57 所属栏目:asp.Net 来源:网络整理
导读:我们在使用ASP.NET应用程序时遇到问题,该应用程序允许用户上传和裁剪图像.之后,图像都缩放到固定大小.处理大文件时,我们的内存基本耗尽;似乎JPEG的处理效率很低 – 我们使用的是System.Drawing.BitMap.您是否有任何一般性建议,也许还有一些指向更高效图像处
我们在使用ASP.NET应用程序时遇到问题,该应用程序允许用户上传和裁剪图像.之后,图像都缩放到固定大小.处理大文件时,我们的内存基本耗尽;似乎JPEG的处理效率很低 – 我们使用的是System.Drawing.BitMap.您是否有任何一般性建议,也许还有一些指向更高效图像处理库的指示?你有什么经历?

解决方法

我遇到了同样的问题,解决方法是使用System.Drawing.Graphics进行转换,并在完成后立即处理每个位图对象.这是我的库中的一个示例(调整大小):

public Bitmap ApplyTo(Bitmap bitmap)
    {
        using (bitmap)
        {
            Bitmap newBitmap = new Bitmap(bitmap,CalculateNewSize(bitmap));

            using (Graphics graphics = Graphics.FromImage(newBitmap))
            {
                graphics.SmoothingMode =
                    SmoothingMode.None;
                graphics.InterpolationMode =
                    InterpolationMode.HighQualityBicubic;
                graphics.CompositingQuality =
                    CompositingQuality.HighQuality;

                graphics.DrawImage(
                    bitmap,new Rectangle(0,newBitmap.Width,newBitmap.Height));
            }

            return newBitmap;
        }
    }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读