public byte[] ZoomPicture(Image SourceImage, int TargetWidth, int TargetHeight) { int IntWidth; //新的图片宽 int IntHeight; //新的图片高 try { //System.Drawing.Imaging.ImageFormat format = SourceImage.RawFormat; //图片格式 System.Drawing.Bitmap SaveImage = new System.Drawing.Bitmap(TargetWidth, TargetHeight, PixelFormat.Format32bppArgb); Graphics g = Graphics.FromImage(SaveImage); // g.Clear(Color.Transparent); g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality; //图片质量 //计算缩放图片的大小 if (SourceImage.Width > TargetWidth && SourceImage.Height <= TargetHeight)//宽度比目的图片宽度大,长度比目的图片长度小 { IntWidth = TargetWidth; IntHeight = (IntWidth * SourceImage.Height) / SourceImage.Width; } else if (SourceImage.Width <= TargetWidth && SourceImage.Height > TargetHeight)//宽度比目的图片宽度小,长度比目的图片长度大 { IntHeight = TargetHeight; IntWidth = (IntHeight * SourceImage.Width) / SourceImage.Height; } else if (SourceImage.Width <= TargetWidth && SourceImage.Height <= TargetHeight) //长宽比目的图片长宽都小 { IntHeight = SourceImage.Width; IntWidth = SourceImage.Height; } else//长宽比目的图片的长宽都大 { IntWidth = TargetWidth; IntHeight = (IntWidth * SourceImage.Height) / SourceImage.Width; if (IntHeight > TargetHeight)//重新计算 { IntHeight = TargetHeight; IntWidth = (IntHeight * SourceImage.Width) / SourceImage.Height; } } //绘制图片 g.DrawImage(SourceImage, (TargetWidth - IntWidth) / 2, (TargetHeight - IntHeight) / 2, IntWidth, IntHeight); using(MemoryStream stream = new MemoryStream()) { SaveImage.Save(stream, ImageFormat.Png); //销毁对象 SaveImage.Dispose(); SourceImage.Dispose(); g.Dispose(); return stream.ToArray(); } } catch (Exception ex) { HxSoft.Common.Config.Err(ex); } return null; }
因为我这里需要缓存图片,所有使用了 byte[]作为返回值,如果是存储图片之类的可以直接返回Image类型(fun里面的SaveImage对象)
我这里使用了质量高的效果,如果使用场景都是很小的图片,可以将图片质量降低以换取更高的性能
相关推荐
ASP.NET图片自动剪切、放大和缩小是一项常见的图像处理任务,尤其在网页设计和开发中。这个技术允许用户上传图片并根据需要动态调整其尺寸,适应不同的显示需求。以下是关于这个主题的一些关键知识点: 1. **ASP...
以上是ASP.NET中实现图片放大缩小的基本流程。实际应用中,还需要考虑异常处理、性能优化以及用户体验等因素。例如,可以添加缓存机制以避免重复计算,或者提供一个用户友好的界面来允许用户自定义缩放比例。 随着...
在ASP.NET Core MVC中处理和缩放图片是常见的需求,尤其是在构建Web应用时,如电子商务网站、社交媒体平台等。本文将详细讲解如何在ASP.NET Core MVC中进行图片处理和缩放。 1. **依赖库** 在ASP.NET Core中处理...
asp.net C# javascript, javascript图片切换效果asp.net C# javascript, javascript图片切换效果asp.net C# javascript, javascript图片切换效果asp.net C# javascript, javascript图片切换效果
ASP.NET c# 日期控件,很好用,测试通过 下载后解压放到站点文件夹下,引用时注意路径 前台: <title></title> <script language="javascript" type="text/javascript" src="../My97DatePicker/WdatePicker.js">...
**************图片预加载插件****************** ...scaling 是否等比例自动缩放 width 图片最大高 height 图片最大宽 loadpic 加载中的图片路径 */ jQuery.fn.LoadImage=function(scaling,width,height,loadpic)
在ASP.NET中,C#是一种常用的编程语言,用于构建动态Web应用程序。FTP(File Transfer Protocol)则是一种标准网络协议,用于在Internet上进行文件传输。本教程将详细讲解如何使用C#在ASP.NET环境中实现FTP远程下载...
.NET C# ASP.NET 微信网页扫码支付是一个广泛应用于电商、服务行业的支付方式,它允许用户通过微信App扫描二维码快速完成支付。这个完整的接口及Demo提供了实现这一功能所需的所有技术细节,包括请求处理、响应验证...
【标题】"BBS论坛asp.net+c#源码"是一个基于ASP.NET技术和C#编程语言构建的电子讨论区系统。ASP.NET是微软公司推出的用于构建动态网站、Web应用程序和服务的框架,而C#则是一种现代化的面向对象编程语言,常与ASP...
ASP.NET 是微软公司推出的用于构建Web应用程序的框架,它提供了丰富的功能和强大的工具,使得开发者可以使用C#等编程语言高效地创建动态、交互式的网页应用。在这个ASP.NET 4.0 完整项目(10个)的压缩包中,你将...
ASP.NET 是微软开发的一种用于构建Web应用程序的框架,它结合了C#编程语言,使得开发者可以使用.NET Framework的强大功能来创建动态网站、Web服务和Web应用程序。C#是一种面向对象的编程语言,语法清晰,安全性高,...
全部都是面试的宝典; c# asp.net .net .net面试题 c#面试题 c# asp.net .net .net面试题 c#面试题
在ASP.NET中,C#是一种常用的编程语言,用于构建动态Web应用程序。在许多情况下,我们需要在这些应用中展示数据,而图表就是一种直观且高效的数据可视化工具。"asp.net 图表 c#图表 chart 统计图(c#版含实例)"这个...
在这个特定的知识点中,我们将深入探讨如何使用ASP.NET C#来实现图片上传至服务器、存储到数据库以及生成缩略图并显示在网页上的过程。 首先,上传图片到服务器端是一个基本的文件上传操作。在ASP.NET中,可以使用`...
ASP.NET C#网上书城系统是一个基于微软的ASP.NET技术和C#编程语言开发的电子商务平台。这个系统提供了全面的功能,让初学者能够了解并实践Web应用程序的开发过程,特别是对于网上书店这种特定业务场景的应用。 ASP...
本书是 ASP.NET C# 开发笔记,涵盖了 ASP.NET 开发中的各个方面,包括开发前的准备、实战项目、SQL2000 数据库设计开发、模块设置、安装部署等。作者通过实际项目经验,将 ASP.NET 开发中的各种技术和经验分享出来,...
ASP.NET C# PDF阅读器源码是一个用于在Web应用程序中展示PDF文档的解决方案。这个源码实例使用C#编程语言,结合ASP.NET框架,为用户提供一个在线查看PDF文件的功能,无需依赖外部插件或者第三方软件。以下是这个项目...
在这个课程设计中,我们将深入探讨如何使用ASP.NET和C#来构建一个功能完备的大学生兼职系统,该系统涵盖了用户登录、数据增删改查等核心功能。 一、项目结构与技术栈 1. ASP.NET MVC框架:该项目可能采用了MVC...
【ASP.NET与C#在网站开发中的应用】 ASP.NET是由微软公司推出的用于构建Web应用程序的框架,它基于.NET Framework,提供了丰富的功能和高效的语言支持,其中C#是ASP.NET最常用的编程语言。这个名为"网站 小项目 asp...
在.NET框架中实现图片上传时,按比例自动缩小或放大的功能是一项常见的需求,尤其是在Web应用程序中。该功能的实现不仅可以提升用户体验,还可以优化页面加载速度,避免因图片过大导致的带宽浪费。接下来将详细介绍...