前台JS限制上传图片质量大小和尺寸!(转)<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=??????">
<script language="javascript">
<!--
function imgSel()
{
var img = new Image();
img.src = document.imageForm.file.value;
document.imageForm.width.value = img.width;
document.imageForm.height.value = img.height;
document.imageForm.size.value = img.fileSize;
document.images['image'].src = img.src;
}
-->
</script>
</head>
<body>
<form name="imageForm">
宽: <input name="width" type="text" size="6"> 高: <input name="height" type="text" size="6"> 大小: <input name="size" type="text" size="6"><br>
<input name="file" type="file" onChange="imgSel()"><br>
<img src="" name="image">
</form>
</body>
</html>
用CSS实现的方法:
把一副大图片按比例缩小或者放大到某个尺寸,对于标准浏览器(如Firefox),或者最新都IE7浏览器,直接使用max-width,max-height;或者min-width,min-height的CSS属性即可。如:
img{max-width:100px;max-height:100px;}
img{min-width:100px;min-height:100px;}
对于IE6及其以下版本的浏览器,则可以利用其支持的expression属性,在css code中嵌入javascript code来实现图片的缩放
.thumbImage {max-width: 100px;max-height: 100px;} /* for Firefox & IE7 */
* html .thumbImage { /* for IE6 */
width: expression(this.width > 100 && this.width > this.height ? 100 : auto);
height: expression(this.height > 100 ? 100 : auto);
}
由于把图片放大,可能存在图片锯齿化的问题,一般用在图片缩小的情况是较多的。
-----------------------------------------------------------------------
有时候图片太大,会破环网页整齐的布局。这时可以用css来强制按比例压缩图片的高度或宽度
css代码如下:
img,a img{
border:0;
margin:0;
padding:0;
max-width:590px;
width:expression(this.width>590?"590px":this.width);
max-height:590px;
height:expression(this.height>590?"590px":this.height);
}
这样当图片的高度或宽度若超过590px,将会按比例压缩成590px,如果不超过则按原大小显示。
用JavaScript实现的方法:
用JavaScript实现网页图片等比例缩放
如何让网页中的图片等比例缩放呢,我参考了一些代码并自己写了个图片缩放的脚本,可以点击放大,同时用鼠标滑轮自由缩放,希望提出不同意见。
首先看看resizeimg函数的源代码:
function resizeimg(ImgD,iwidth,iheight) {
var image=new Image();
image.src=ImgD.src;
if(image.width>0 && image.height>0){
if(image.width/image.height>= iwidth/iheight){
if(image.width>iwidth){
ImgD.width=iwidth;
ImgD.height=(image.height*iwidth)/image.width;
}else{
ImgD.width=image.width;
ImgD.height=image.height;
}
ImgD.alt=image.width+"×"+image.height;
}
else{
if(image.height>iheight){
ImgD.height=iheight;
ImgD.width=(image.width*iheight)/image.height;
}else{
ImgD.width=image.width;
ImgD.height=image.height;
}
ImgD.alt=image.width+"×"+image.height;
}
ImgD.style.cursor= "pointer"; //改变鼠标指针
ImgD.onclick = function() { window.open(this.src);} //点击打开大图片
if (navigator.userAgent.toLowerCase().indexOf("ie") > -1) { //判断浏览器,如果是IE
ImgD.title = "请使用鼠标滚轮缩放图片,点击图片可在新窗口打开";
ImgD.onmousewheel = function img_zoom() //滚轮缩放
{
var zoom = parseInt(this.style.zoom, 10) || 100;
zoom += event.wheelDelta / 12;
if (zoom> 0) this.style.zoom = zoom + "%";
return false;
}
} else { //如果不是IE
ImgD.title = "点击图片可在新窗口打开";
}
}
}
在需要实现等比缩放的图片上加上onload语句,图片装载时初始化大小。
具体实现代码如下:
<img name="" src="" onload="javascript:resizeimg(this,100,200)">
赶快行动,把这个特效加入到你的网页图片中去。
----------------------------------------------------------------------------
<script language="JavaScript">
{
var flag=false;
function DrawImage(ImgD){
var image=new Image();
image.src=ImgD.src;
if(image.width>0 && image.height>0){
flag=true;
if(image.width/image.height>=0){
if(image.width>520){
ImgD.width=520;
ImgD.height=(image.height*520)/image.width;
}else{
ImgD.width=image.width;
ImgD.height=image.height;
}
//ImgD.alt=image.width+"×"+image.height;
ImgD.alt="点击此处在新窗口中打开!"
}
else{
if(image.height>235){
ImgD.height=235;
ImgD.width=(image.width*235)/image.height;
}else{
ImgD.width=image.width;
ImgD.height=image.height;
}
//ImgD.alt=image.width+"×"+image.height;
ImgD.alt="点击此处在新窗口中打开!"
}
}
}
}
</script>
例:<img src="2.gif" border="0" class="borderpic" onload="javascript:DrawImage(this);"></a>
原文地址:http://www.cnblogs.com/nuke/archive/2010/12/09/1901276.html
相关推荐
代码是从一个论坛找到的,程序简单易懂,现在不用分共享给需要的人
asp前台图片限制显示大小 将文件嵌入页面,通过传参数的方式调用函数来制定需要显示图片的大小
js html java servlet 前台接收base64数据后台转图片保存上传 全套代码 直接可以用
Javascript验证上传图片大小[前台处理]_.docx
Emoji 转换 包含js前台转换 和c# EmojiCodeHelper类 可以前后台来回转换,Emoji 转换 包含js前台转换 和c# EmojiCodeHelper类 可以前后台来回转换,Emoji 转换 包含js前台转换 和c# EmojiCodeHelper类 可以前后台...
针对原版前台页面进行了简单修改,图片上传后可以拖拽修改图片大小
前台页面图片js炫丽效果,动态照片墙,3D效果
在做上传图片的时候,如果不限制上传图片大小,后果非常的严重。解决这个问题有两种方式:后台处理、前台处理
js编写的上传附件,可限制上传图片数量,上传的图片大小
1 小程序上传图片 2 可回显(数据库加载图片回显) 3 可压缩至指定大小(php后天提取了一个方法,可等比例压缩图片到指定大小) 4 后台保存到服务器指定文件夹,路径写到了数据库对应字段 附件包含前台界面vue,页面...
js屏蔽前台提交按钮,防止多次按钮操作者。
处理前后台图片旋转问题,前台处理旋转图片展示问题。后台处理旋转图片处理后保存到服务器和数据库问题。
前台实现了图片的轮播功能,带有切换特效。
前台js,前端需要使用到的一些js,有用js。
一个示例,可以上传图片,以二进制的形式存在数据库中,然后前台调出显示
javascript和html前台编程实例
同时生成了缩略图和正常图片的base64值,缩略图用于页面进行显示,正常图片进行后续打开查看。测试了安卓和ios的微信端,一切正常。 另外由于缓存资源的原因没有考虑上传按钮的添加,上传图片即上传,ajax为异步...
前台js将JSP转换成PDF文件涉及的两个js插件.zip
超级实用的前台图形js工具