C#生成高清缩略图
/// <SUMMARY>
/// 为图片生成缩略图
/// </SUMMARY>
/// <PARAM name="phyPath">原图片的路径</PARAM>
/// <PARAM name="width">缩略图宽</PARAM>
/// <PARAM name="height">缩略图高</PARAM>
/// <RETURNS></RETURNS>
public System.Drawing.Image GetThumbnail(System.Drawing.Image image, int width, int height)
{
Bitmap bmp = new Bitmap(width, height);
//从Bitmap创建一个System.Drawing.Graphics
System.Drawing.Graphics gr = System.Drawing.Graphics.FromImage(bmp);
//设置
gr.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
//下面这个也设成高质量
gr.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
//下面这个设成High
gr.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
//把原始图像绘制成上面所设置宽高的缩小图
System.Drawing.Rectangle rectDestination = new System.Drawing.Rectangle(0, 0, width, height);
gr.DrawImage(image, rectDestination, 0, 0, image.Width, image.Height, GraphicsUnit.Pixel);
return bmp;
}
调用方法
HttpPostedFile file = photoFile.PostedFile;
if (!file.ContentType.Contains("image"))
{
return "照片格式不合法";
}
string ext = Path.GetExtension(file.FileName)。ToLower();
if (ext != ".jpg" && ext != ".gif" && ext != ".png" && ext != ".jpeg")
{
return "请您上传jpg、gif、png图片";
}
if (file.ContentLength > 5 * 1024 * 1024)
{
return "请您上传512字节内的图片";
}
string newName = Guid.NewGuid()。ToString();
string tempPath = "upload/";
string img = tempPath + newName + ext;
string filePath = Server.MapPath(img);
if (!Directory.Exists(tempPath))
{
Directory.CreateDirectory(tempPath);
}
using (System.Drawing.Image originalImage = System.Drawing.Image.FromStream(file.InputStream))
{
GetThumbnail(originalImage, 504, 374)。Save(filePath);
}
C#生成高清缩略图的更多相关文章
- C#生成高清缩略图 (装在自OPEN经验库)
来源 http://www.open-open.com/lib/view/open1389943861320.html 代码如下实现图片的高清缩略图 /// <summary> /// 为 ...
- C#生成高清缩略图的方法
/// <summary> /// 为图片生成缩略图 /// </summary> /// <param name="phyPath">原图片的 ...
- atitit.thumb生成高质量缩略图 php .net c++ java
atitit.java thumb生成高质量缩略图 php .net c++ 1. 图像缩放(image scaling)---平滑度(smoothness)和清晰度(sharpness) 1 2. ...
- Swift开发小技巧--扫描二维码,二维码的描边与锁定,设置扫描范围,二维码的生成(高清,无码,你懂得!)
二维码的扫描,二维码的锁定与描边,二维码的扫描范围,二维码的生成(高清,无码,你懂得!),识别相册中的二维码 扫描二维码用到的三个重要对象的关系,如图: 1.懒加载各种类 // MARK: - 懒加载 ...
- Asp.Net 上传图片并生成高清晰缩略图
在asp.net中,上传图片功能或者是常用的,生成缩略图也是常用的.baidu或者google,c#的方法也是很多的,但是一用却发现缩略图不清晰啊,缩略图片太大之类的事情,下面是我在处理图片上的代码, ...
- Asp.Net 上传图片并生成高清晰缩略图(转)
在asp.net中,上传图片功能或者是常用的,生成缩略图也是常用的.baidu或者google,c#的方法也是很多的,但是一用却发现缩略图不清晰啊,缩略图片太大之类的事情,下面是我在处理图片上的代码, ...
- 【转】JSP使用上传文件,并生产高清缩略图示例
原文地址:http://blog.csdn.net/yakson/article/details/9875731 前言 刚开始本来只想来测试一下Thumbnails生成缩略图的效果的,顺便来学一下js ...
- JavaScript Html2canvas 生成高清图片(移动端模糊问题)
最近在做一个移动端的项目,简单记录一下该功能. 需求是这样的: 将带有二维码和一些介绍信息 动态生成一张图片 比如说是 生成这样的图片,文字.主图.价格.二维码都是不固定的. 对于这个需求,看见微信上 ...
- c#生成高清字体图片
Graphics g = Graphics.FromImage(image); g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.Hig ...
随机推荐
- java学习笔记(13) —— google GSON 实现json转化方法
1.配置struts.xml <action name="getGsonAction" class="com.test.action.json.GetGsonAct ...
- csv内存流文件流
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Tex ...
- Windows下安装Emacs+Sbcl+Slime
前言 其实网上已经有很多类似的文章了,我也是按照上面的来做.在做的过程中会遇到几个很坑的地方,我自己也是折腾了好久才弄好.所以现在写出来希望能对大家有所帮助. 正文 下载和安装Emacs http:/ ...
- Android对ScrollView滚动监听,实现美团、大众点评的购买悬浮效果
转帖请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17761431),请尊重他人的辛勤劳动成果,谢谢! 我之前写 ...
- v8 源码获取与build
最近准备在工作之余研究下v8,下班时间鼓捣了2天,现在终于能下载,能gclient sync了. 刚开始的目的就是跑一个hello world,按照wiki上的例子来: https://github. ...
- Basefragment的封装使用
1.前言 封装作为面向对象的三大特性之一,在我们平时的coding过程用的那是非常的多的.大多数时候,我们可以根据封装情况评判代码的质量水平. 本文主要讲解的是fragment的封装.大体上,在项目的 ...
- mysql undo
mysql> show variables like '%undo%'; +-------------------------+-------+ | Variable_name | Value ...
- DP #1 Singleton Pattern线程安全问题
单例模式确保一个类只有一个实例,自行提供这个实例并向整个系统提供这个实例. 其中涉及到最主要的问题就是在多线程并发时线程安全问题. 单例模式的实现也有一个循序渐进的过程:1.最基本要求:每次从getI ...
- POJ_2488——骑士遍历棋盘,字典序走法
Description Background The knight is getting bored of seeing the same black and white squares again ...
- Bonobos | IT桔子
Trumaker | IT桔子 Trumaker trumaker.com