上传图片并且生成可以控制大小图片清晰度的方法
来源:互联网 发布:ppt怎么做数据分析 编辑:程序博客网 时间:2024/06/05 17:35
{
if(myFile.PostedFile !=null)
{
// 检查文件扩展名字
HttpFileCollection files = HttpContext.Current.Request.Files;
HttpPostedFile postedFile = files[0];
string fileName,fileExtension,file_id,file_path;
//取出精确到毫秒的时间做文件的名称
int year = System.DateTime.Now.Year;
int month = System.DateTime.Now.Month;
int day = System.DateTime.Now.Day;
int hour = System.DateTime.Now.Hour;
int minute = System.DateTime.Now.Minute;
int second = System.DateTime.Now.Second;
int millisecond = System.DateTime.Now.Millisecond;
string my_file_id = year.ToString() + month.ToString() + day.ToString() + hour.ToString() + minute.ToString() + second.ToString() + millisecond.ToString();
//获得文件类型
fileName = System.IO.Path.GetFileName(postedFile.FileName);
fileExtension = System.IO.Path.GetExtension(fileName);
//重新命名文件,防止重复
file_id = "topnews_"+my_file_id+fileExtension;
file_path = "images/article_images/"+file_id;
//文件上传到服务器的根目录
postedFile.SaveAs(Request.PhysicalApplicationPath+@"images/article_images/"+ file_id);
//处理图片大小
int width,height,level;
width=120;
height=90;
level=100;//从1-100
GetThumbnailImage(width,height,level,file_id);
}
}
//生成缩略图函数
public void GetThumbnailImage(int width,int height,int level,string file_id)
{
string newfile= Request.PhysicalApplicationPath+"images/article_images/"+"top_"+ file_id;
System.Drawing.Image oldimage = System.Drawing.Image.FromFile(Request.PhysicalApplicationPath+"images/article_images/"+ file_id);
System.Drawing.Image thumbnailImage = oldimage.GetThumbnailImage(width, height,new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback), IntPtr.Zero);
Bitmap output=new Bitmap(thumbnailImage);
//处理JPG质量的函数
ImageCodecInfo[] codecs=ImageCodecInfo.GetImageEncoders();
ImageCodecInfo ici=null;
foreach(ImageCodecInfo codec in codecs){if(codec.MimeType=="image/jpeg")ici=codec;}
EncoderParameters ep=new EncoderParameters();
ep.Param[0]=new EncoderParameter(Encoder.Quality,(long)level);
output.Save(newfile,ici,ep);
//释放所有使用对象
ep.Dispose();
output.Dispose();
oldimage.Dispose();
thumbnailImage.Dispose();
//删除源图片
string file_path = "images/article_images/"+"top_"+file_id;
usageIO.DeletePath(Request.PhysicalApplicationPath+"images/article_images/"+ file_id);
Response.Write("<script >parent.Form1.A_Simg.value ='"+file_path+"';location.replace('Upload_Img.aspx')</script>");
}
bool ThumbnailCallback()
{
return false;
}
- 上传图片并且生成可以控制大小图片清晰度的方法
- 上传图片并且生成可以控制大小图片清晰度的方法
- 上传图片并且生成可以控制大小图片清晰度的方法
- 上传图片并且生成可以控制大小图片清晰度的方法
- 控制上传图片的大小
- 控制图片上传大小
- js 可以控制图片的大小
- java在label 上设置图片并且可以随便改变大小的方法
- 图片压缩大小清晰度测试
- 用file上传图片 控制上传的文件类型和大小
- java上传多张图片,并且可以删除上传的图片。
- kindeditor图片上传并且图片自动适应编辑器大小
- .net生成带参数二维码存为图片,并且可以控制图片大小,数据库存入缓存
- asp 上传图片 成比例缩小 并且可以设置图片的质量
- php实现按指定大小等比缩放生成上传图片缩略图的方法
- UEditor控制上传图片的显示尺寸大小
- js在客户端控制上传图片的大小
- 一个上传图片生成缩略图的方法
- Exchange 数据库整理
- nmap 使用手册
- 极限编程的重要特点---测试驱动开发(zt)
- [读书笔记]网络协议 —————— TCP/IP
- Dictionary取值方式和类型转化
- 上传图片并且生成可以控制大小图片清晰度的方法
- 我的第一个BLOG开始了!
- Mantis的应用
- 鼠标越接近图像,图像会越大,它会很聪明的判断出图像中心距鼠标的距离
- 一个用于J2EE应用程序的异常处理框架
- 今天偶上网查找相关SMTP与POP3协议,打算用JAVA语言来实现(想像中...),没想到得到了意外的收获
- 倒计时
- UI设计概述
- Mysql也可以联合多表更新和删除