(12)改变图片的大小生成缩略图
2014-03-16 16:32
357 查看
问题
你允许用户上传一个图片,但是传统的来说,这个图片一般是从一个camera输出的,这个图片太大。所以你想展现一个简单的图片或者缩略图。在你的网站允许用户在他看到完整图片之前先预览缩略图(译者:这是一个很好的用户体验)。
解决方案
使用以下几个类去更新现有的文件上传功能去调整图片:FileStream, Image, Bitmap,和Graphics 类去指定宽度和高度。
讨论
在下面的例子,以前创建的FileUpload类将得到更新和重组。创建一个新的功能,称为ResizeImage执行调整图片大小。调整大小后的图像将被保存在以前的文件夹的子文件夹中,名为(thumbnail)缩略图。 DeleteFile函数也被更新,同时删除缩略图和原始图像,并创建一个新的函数,并调用了两次删除功能 为了避免重复代码。下面是FileUpload类的代码:
译者:下边标红的代码是我加上去的。这样我们可以把图片和缩略图存到我们项目的文件夹下。否则他会存到:C:Program FilesCommon FilesMicrosoft SharedDevServer10.0目录下。
双击代码全选
上边的例子做了很多事,特别是在ResizeImage函数。
首先,如果缩略图目录不存在,它将被创建。接下来,一个新的FileStream会根据缩略图存放的完整路径被创建用于编辑。 原上传的图像根据uploaded的InputStream被转换为Image类的对象。一个新的位图会被根据图图像的宽度和高度创建。接下来用这个位图去创建一个新的Graphics对象。Graphics对象,NewImage,用于设置和定义质量,表面光滑,插补模式。如果没有这些设置,缩略图会不会好看非常像素化和调整笨拙。
一旦都设置好了,一个新的矩形被创建并且原始图像被画到Graphics中。这是执行实际的调整大小。最后保存位图和所有创建的对象的处置,以释放资源。
你允许用户上传一个图片,但是传统的来说,这个图片一般是从一个camera输出的,这个图片太大。所以你想展现一个简单的图片或者缩略图。在你的网站允许用户在他看到完整图片之前先预览缩略图(译者:这是一个很好的用户体验)。
解决方案
使用以下几个类去更新现有的文件上传功能去调整图片:FileStream, Image, Bitmap,和Graphics 类去指定宽度和高度。
讨论
在下面的例子,以前创建的FileUpload类将得到更新和重组。创建一个新的功能,称为ResizeImage执行调整图片大小。调整大小后的图像将被保存在以前的文件夹的子文件夹中,名为(thumbnail)缩略图。 DeleteFile函数也被更新,同时删除缩略图和原始图像,并创建一个新的函数,并调用了两次删除功能 为了避免重复代码。下面是FileUpload类的代码:
译者:下边标红的代码是我加上去的。这样我们可以把图片和缩略图存到我们项目的文件夹下。否则他会存到:C:Program FilesCommon FilesMicrosoft SharedDevServer10.0目录下。
首先,如果缩略图目录不存在,它将被创建。接下来,一个新的FileStream会根据缩略图存放的完整路径被创建用于编辑。 原上传的图像根据uploaded的InputStream被转换为Image类的对象。一个新的位图会被根据图图像的宽度和高度创建。接下来用这个位图去创建一个新的Graphics对象。Graphics对象,NewImage,用于设置和定义质量,表面光滑,插补模式。如果没有这些设置,缩略图会不会好看非常像素化和调整笨拙。
一旦都设置好了,一个新的矩形被创建并且原始图像被画到Graphics中。这是执行实际的调整大小。最后保存位图和所有创建的对象的处置,以释放资源。
相关文章推荐
- 【译】MVC3 20个秘方-(12)改变图片的大小生成缩略图
- (12)改变图片的大小生成缩略图
- ASP.NET C# 按原图片大小等比例缩放生成缩略图
- 生成规定大小的图片(缩略图生成)
- C# 生成缩略图、转换图片大小
- 上传图片,并生成缩略图(指定大小)
- 限制图片 大小 生成等比例缩略图 asp.net和js代码
- 使用PHP实现生成固定大小图片缩略图功能(智能裁剪,图片不失真)
- 生成缩略图(改变图片尺寸)方法
- 生成规定大小的图片(缩略图生成)
- .net上传图片生成大小缩略图
- php按指定大小等比缩放生成上传图片缩略图
- 使用PHP实现生成固定大小图片缩略图功能(智能裁剪,图片不失真)
- .net上传图片生成大小缩略图
- php实现按指定大小等比缩放生成上传图片缩略图的方法
- 上传图片 生成指定大小的缩略图
- php 修改图片的大小、裁剪图片以及生成缩略图方法
- 生成规定大小的图片(缩略图生成)
- php实现按指定大小等比缩放生成上传图片缩略图的方法
- ASP.NET C# 按原图片大小缩放生成缩略图