asp.net生成缩略图
- /// <summary>
- /// 生成缩略图
- /// </summary>
- /// <param name="orginalImagePat">原图片地址</param>
- /// <param name="thumNailPath">缩略图地址</param>
- /// <param name="width">缩略图宽度</param>
- /// <param name="height">缩略图高度</param>
- /// <param name="model">生成缩略的模式</param>
- public void MakeThumNail(string originalImagePath, string thumNailPath, int width, int height, string model)
- {
- System.Drawing.Image originalImage = System.Drawing.Image.FromFile(originalImagePath);
- int thumWidth = width; //缩略图的宽度
- int thumHeight = height; //缩略图的高度
- int x = ;
- int y = ;
- int originalWidth = originalImage.Width; //原始图片的宽度
- int originalHeight = originalImage.Height; //原始图片的高度
- switch (model)
- {
- case "HW": //指定高宽缩放,可能变形
- break;
- case "W": //指定宽度,高度按照比例缩放
- thumHeight = originalImage.Height * width / originalImage.Width;
- break;
- case "H": //指定高度,宽度按照等比例缩放
- thumWidth = originalImage.Width * height / originalImage.Height;
- break;
- case "Cut":
- if ((double)originalImage.Width / (double)originalImage.Height > (double)thumWidth / (double)thumHeight)
- {
- originalHeight = originalImage.Height;
- originalWidth = originalImage.Height * thumWidth / thumHeight;
- y = ;
- x = (originalImage.Width - originalWidth) / ;
- }
- else
- {
- originalWidth = originalImage.Width;
- originalHeight = originalWidth * height / thumWidth;
- x = ;
- y = (originalImage.Height - originalHeight) / ;
- }
- break;
- default:
- break;
- }
- //新建一个bmp图片
- System.Drawing.Image bitmap = new System.Drawing.Bitmap(thumWidth, thumHeight);
- //新建一个画板
- System.Drawing.Graphics graphic = System.Drawing.Graphics.FromImage(bitmap);
- //设置高质量查值法
- graphic.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
- //设置高质量,低速度呈现平滑程度
- graphic.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
- //清空画布并以透明背景色填充
- graphic.Clear(System.Drawing.Color.Transparent);
- //在指定位置并且按指定大小绘制原图片的指定部分
- graphic.DrawImage(originalImage, new System.Drawing.Rectangle(, , thumWidth, thumHeight)
- , new System.Drawing.Rectangle(x, y, originalWidth, originalHeight), System.Drawing.GraphicsUnit.Pixel);
- try
- {
- bitmap.Save(thumNailPath, System.Drawing.Imaging.ImageFormat.Jpeg);
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- originalImage.Dispose();
- bitmap.Dispose();
- graphic.Dispose();
- }
- }
asp.net生成缩略图的更多相关文章
- ASP.NET生成缩略图的代码
01. // <summary> 02. /// 生成缩略图 03. /// </summary> 04. /// &l ...
- asp.net生成缩略图、文字图片水印
/// <summary> /// 会产生graphics异常的PixelFormat /// </summary> private static PixelFormat[] ...
- ASP.NET 生成缩略图片类分享
/// <summary> /// 生成图片缩略图 指定文件路径生成 /// </summary> public static void SaveImage(String fu ...
- asp.net中生成缩略图并添加版权实例代码
这篇文章介绍了asp.net中生成缩略图并添加版权实例代码,有需要的朋友可以参考一下 复制代码代码如下: //定义image类的对象 Drawing.Image image,newimage; //图 ...
- ASP组件AspJpeg(加水印)生成缩略图等使用方法
ASP组件AspJpeg(加水印)生成缩略图等使用方法 作者: 字体:[增加 减小] 类型:转载 时间:2012-12-17我要评论 ASPJPEG是一款功能相当强大的图象处理组件,用它可以轻松地做出 ...
- asp.net——上传图片生成缩略图
上传图片生成缩略图,原图和缩略图地址一样的时候缩略图会把原图覆盖掉 /// <summary> /// 生成缩略图 /// </summary> /// <param n ...
- .net又一个生成缩略图的方法,不变形
生成缩略图是一个十分常用功能,找到了一个方法,重写部分代码,实用又好用,.net又一个生成缩略图的方法,不变形 /// <summary> /// 为图片生成缩略图 by 何问起 /// ...
- C#上传图片和生成缩略图以及图片预览
因工作需要,上传图片要增加MIME类型验证和生成较小尺寸的图片用于浏览.根据网上代码加以修改做出如下效果图: 前台代码如下: <html xmlns="http://www.w3.or ...
- [原创]超强C#图片上传,加水印,自动生成缩略图源代码
<%@ Page Language=“C#“ AutoEventWireup=“true“ %> <%@ Import Namespace=“System“ %> <%@ ...
随机推荐
- 纯CSS气泡效果
http://www.liaoxuefeng.com/article/0013738937970388b6b6e5e5e2f4e21b65b01807c84ddf6000
- smarty中增加类似foreach的功能自动加载数据方法
第一步:在Smarty_Compiler.class.php的_compile_tag函数中增加: 复制代码 代码如下: //加载数据的开始标签case 'load': $this->_push ...
- word2013 blog test
测试一:style里的内容能保存吗?: int read; byte * buf; int tries; int read; byte * buf ...
- 微软 WP 新策略:非开发者账号免费解锁 1 部手机(转)
好消息,微软现在非开发者用户解锁1部WP8手机和部署两个应用,即我们只 需注册个windows live账号即可解锁我们的WP8了!! 准备工作:1.需要一台装有windows8 64位系统的电脑. ...
- Cheatsheet: 2015 07.01 ~ 07.31
Java JBoss Drools Tutorial for Beginners Other A Simple File System RebornDB: the Next Generation Di ...
- php手册杂记
1, strcmp()是比较两个字符串的大小,两个字符串相同时返回0,第一个字符串大于第二个字符串时返回一个正值,否则返回负值.比较两个字符串的算法是:逐个比较两个串中对应的字符,字符大小按照ASCI ...
- microstrip(微带线)、stripline(带状线) 指什么?
带状线:走在内层(stripline/double stripline),埋在PCB内部的带状走线,如下图所示 蓝色部分是导体,绿色部分是PCB的绝缘电介质,stripline是嵌在两层导体之间的带状 ...
- fifter常见的运用场景
没配置过滤器 package servlet; import java.io.IOException; import javax.servlet.ServletException; import ja ...
- M1卡介绍
本文整理自网络. M1卡是指菲利浦下属子公司恩智浦出品的芯片缩写,全称为NXP Mifare1系列,常用的有S50及S70两种型号,目前都有国产芯片与其兼容,属于非接触式IC卡.最为重要的优点是可读可 ...
- windows递归拷贝(或删除等操作)文件
SHFileOperation 以拷贝为例. CString strFrom = ....._T("src");CString strTo = ....._T("dest ...