js图片处理示例代码


Posted in Javascript onMay 12, 2014
var ImgObj=new Image(); //建立一个图像对象 
var AllImgExt=".jpg|.jpeg|.gif|.bmp|.png|"//全部图片格式类型 
var FileObj,ImgFileSize,ImgWidth,ImgHeight,FileExt,ErrMsg,FileMsg,HasCheked,IsImg//全局变量 图片相关属性 
//以下为限制变量 
var AllowExt=".jpg|.gif|.doc|.txt|" //允许上传的文件类型 ?为无限制 每个扩展名后边要加一个"|" 小写字母表示 
var AllowImgFileSize=70; //允许上传图片文件的大小 0为无限制 单位:KB 
var AllowImgWidth=500; //允许上传的图片的宽度 ?为无限制 单位:px(像素) 
var AllowImgHeight=500; //允许上传的图片的高度 ?为无限制 单位:px(像素) 
HasChecked=false; 
function CheckProperty(obj) //检测图像属性 
{ 
FileObj=obj; 
if(ErrMsg!="") //检测是否为正确的图像文件 返回出错信息并重置 
{ 
ShowMsg(ErrMsg,false); 
return false; //返回 
} 
ImgFileSize=Math.round(ImgObj.fileSize/1024*100)/100;//取得图片文件的大小 
ImgWidth=ImgObj.width; //取得图片的宽度 
ImgHeight=ImgObj.height; //取得图片的高度 
FileMsg="\n图片大小:"+ImgWidth+"*"+ImgHeight+"px"; 
FileMsg=FileMsg+"\n图片文件大小:"+ImgFileSize+"Kb"; 
FileMsg=FileMsg+"\n图片文件扩展名:"+FileExt; 
if(AllowImgWidth!=0&&AllowImgWidth<ImgWidth) 
ErrMsg=ErrMsg+"\n图片宽度超过限制。请上传宽度小于"+AllowImgWidth+"px的文件,当前图片宽度为"+ImgWidth+"px"; 
if(AllowImgHeight!=0&&AllowImgHeight<ImgHeight) 
ErrMsg=ErrMsg+"\n图片高度超过限制。请上传高度小于"+AllowImgHeight+"px的文件,当前图片高度为"+ImgHeight+"px"; 
if(AllowImgFileSize!=0&&AllowImgFileSize<ImgFileSize) 
ErrMsg=ErrMsg+"\n图片文件大小超过限制。请上传小于"+AllowImgFileSize+"KB的文件,当前文件大小为"+ImgFileSize+"KB"; 
if(ErrMsg!="") ShowMsg(ErrMsg,false); 
else ShowMsg(FileMsg,true); 
} 
ImgObj.onerror=function(){ErrMsg='\n图片格式不正确或者图片已损坏!'} 
function ShowMsg(msg,tf) //显示提示信息 tf=true 显示文件信息 tf=false 显示错误信息 msg-信息内容 
{ 
msg=msg.replace("\n","<li>"); 
msg=msg.replace(/\n/gi,"<li>"); 
if(!tf) 
{ 
FileObj.outerHTML=FileObj.outerHTML; 
MsgList.innerHTML=msg; 
HasChecked=false; 
}else{ 
if(IsImg) PreviewImg.innerHTML="<img src='"+ImgObj.src+"' width='60' height='60'>"; 
else PreviewImg.innerHTML="非图片文件"; 
MsgList.innerHTML=msg; 
HasChecked=true; 
} 
} 
function CheckExt(obj) 
{ 
ErrMsg=""; 
FileMsg=""; 
FileObj=obj; 
IsImg=false; 
HasChecked=false; 
PreviewImg.innerHTML="预览区"; 
if(obj.value=="")return false; 
MsgList.innerHTML="文件信息处理中..."; 
FileExt=obj.value.substr(obj.value.lastIndexOf(".")).toLowerCase(); 
if(AllowExt!=0&&AllowExt.indexOf(FileExt+"|")==-1) //判断文件类型是否允许上传 
{ 
ErrMsg="\n该文件类型不允许上传。请上传 "+AllowExt+" 类型的文件,当前文件类型为"+FileExt; 
ShowMsg(ErrMsg,false); 
return false; 
} 
if(AllImgExt.indexOf(FileExt+"|")!=-1) //如果图片文件,则进行图片信息处理 
{ 
IsImg=true; 
ImgObj.src=obj.value; 
alert(ImgObj.src); 
alert(Math.round(ImgObj.fileSize/1024*100)/100); 
CheckProperty(obj); 
return false; 
}else{ 
FileMsg="\n文件扩展名:"+FileExt; 
ShowMsg(FileMsg,true); 
} 
}
Javascript 相关文章推荐
js限制文本框为整数和货币的函数代码
Oct 13 Javascript
JavaScript中的apply()方法和call()方法使用介绍
Jul 25 Javascript
jquery焦点图片切换(数字标注/手动/自动播放/横向滚动)
Jan 24 Javascript
Js 获取Gridview选中行的内容操作步骤
Feb 05 Javascript
对JavaScript的全文搜索实现相关度评分的功能的方法
Jun 24 Javascript
js Canvas实现圆形时钟教程
Sep 19 Javascript
JQueryEasyUI框架下的combobox的取值和绑定的方法
Jan 22 Javascript
jQuery插件HighCharts绘制的基本折线图效果示例【附demo源码下载】
Mar 07 Javascript
vue cli2.0单页面title修改方法
Jun 07 Javascript
小程序使用watch监听数据变化的方法详解
Sep 20 Javascript
Element Dropdown下拉菜单的使用方法
Jul 26 Javascript
全面解析Vue中的$nextTick
Dec 24 Vue.js
jquery实现的一个简单进度条效果实例
May 12 #Javascript
两个多选select(multiple左右)添加、删除选项和取值实例
May 12 #Javascript
再谈Jquery Ajax方法传递到action(补充)
May 12 #Javascript
Jquery Ajax方法传值到action的方法
May 11 #Javascript
json的定义、标准格式及json字符串检验
May 11 #Javascript
Jquery操作js数组及对象示例代码
May 11 #Javascript
Jquery+asp.net后台数据传到前台js进行解析的方法
May 11 #Javascript
You might like
亚洲咖啡有什么?亚洲咖啡产地介绍 亚洲咖啡有什么特点?
2021/03/05 新手入门
php扩展ZF――Validate扩展
2008/01/10 PHP
PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
2014/03/17 PHP
PHP实现简单实用的分页类代码
2016/04/08 PHP
php+ajax登录跳转登录实现思路
2016/07/31 PHP
php 伪造HTTP_REFERER页面URL来源的三种方法
2016/09/22 PHP
详解laravel安装使用Passport(Api认证)
2018/07/27 PHP
JavaScript中跨域调用Flash的方法
2014/08/11 Javascript
上传文件返回的json数据会被提示下载问题解决方案
2014/12/03 Javascript
js实现常用排序算法
2016/08/09 Javascript
javascript判断firebug是否开启的方法
2016/11/23 Javascript
Bootstrap php制作动态分页标签
2016/12/23 Javascript
实例详解JavaScript中setTimeout函数的执行顺序
2017/07/12 Javascript
利用vue + koa2 + mockjs模拟数据的方法教程
2017/11/22 Javascript
vue中实现先请求数据再渲染dom分享
2018/03/17 Javascript
vue头部导航动态点击处理方法
2018/11/02 Javascript
js实现简单页面全屏
2019/09/17 Javascript
详解Vscode中使用Eslint终极配置大全
2019/11/08 Javascript
JavaScript代码异常监控实现过程详解
2020/02/17 Javascript
js实现简易点击切换显示或隐藏
2020/11/29 Javascript
[47:02]2018DOTA2亚洲邀请赛3月29日 小组赛B组 VP VS paiN
2018/03/30 DOTA
[49:31]TFT vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
Python正规则表达式学习指南
2016/08/02 Python
python实现飞机大战小游戏
2019/11/08 Python
Pytorch .pth权重文件的使用解析
2020/02/14 Python
python轮询机制控制led实例
2020/05/03 Python
用Python自动清理系统垃圾的实现
2021/01/18 Python
台湾生鲜宅配:大口市集
2017/10/14 全球购物
HttpServlet类中的主要方法都有哪些?各自的作用是什么?
2014/03/16 面试题
春节联欢晚会主持词范文
2014/03/24 职场文书
重点工程汇报材料
2014/08/27 职场文书
收入及婚姻状况证明
2014/11/20 职场文书
小学感恩节活动总结
2015/03/24 职场文书
医者仁心观后感
2015/06/17 职场文书
酒店员工管理制度
2015/08/05 职场文书
看看如何用Python绘制小米新版天价logo
2021/04/20 Python