IT学习者 | 文章大全 | 技术文档 | 桌面壁纸 | 实用查询 | 网络电台 | 成语 | 歇后语 | 网址 | 下载 | 周公解梦 | 生日密码 | 电视剧365 | Flash
 您现在的位置: IT学习者 >> 文章大全 >> 网络编程 >> ASP技术

处理图片的技巧

【 作者:ITlearner    来源:本站原创  更新时间:2004-4-24 | 字体:

以下代码都是从新版的动网论坛(DV7SP2)整理出来的。

<script>
Function bbimg(o){
var zoom=parseInt(o.style.zoom, 10)||100;zoom+=event.wheelDelta/12;if (zoom>0) o.style.zoom=zoom+'%';
return false;
}
</script>

<%
Private Function bbimg(strText,ssize)
  Dim s
  s=strText
  Dim re
  Set re=new RegExp
  re.IgnoreCase =True
  re.Global=True
  re.Pattern="<img(.[^>]*)>"
  If ssize=500 Then  '显示贴子时默认宽度为500
   s=re.replace(s,"<img$1onmousewheel=""return bbimg(this)"" onload=""javascript:if(this.width>screen.width-"&ssize&")this.width=screen.width-"&ssize&";"">")
  Else  '显示签名图片
   s=re.replace(s,"<img$1onmousewheel=""return bbimg(this)"" onload=""javascript:if(this.width>screen.width-"&ssize&")this.width=screen.width-"&ssize&";if(this.height>100)this.height=100;"">")
  End If
  bbimg=s
End Function
%>

其中:onmousewheel=""return bbimg(this)"" 用于检测鼠标滚轮事件,bbimg函数实现图片大小随鼠标滚轮滚动而变大缩小。

不过,签名图片在某些情况下(高度大于100时)会被压扁,那是因为这行代码:if(this.height>100)this.height=100; 不知道为什么,宽度自动缩放会实现“锁定纵横比”效果,但是缩放高度却会把图片压扁(仅有部分图片会出现变形),目前有两个解决办法(可任选其一,以下代码文字来源于动网论坛,但我找不到是谁最先写出来的了):

1、修改if(this.height>100)this.height=100;  为:if(this.height>100)this.style.height=100; 

这样做可以保证大部分图片按比例缩放,只有少数特殊的图片会被变形。

2、修改if(this.height>100)this.height=100; 为:if (this.height>100){var rate=100 / this.height;this.style.width=this.width * rate;}

方法二的原理说明:其实就是一个算法,把高度的缩放改为宽度的缩放,因为无论什么图片对其width进行缩放都不会造成变形(至少我还没有发现会变形的图片),所以想用哪个方法就由各位自己选择了。一般来说推荐第一个方法,如果发现还有图片缩小后变形,再试试第二个方法。

研究完了,马上在公司网站的文章系统上试一下(原来一直不知道怎么实现这一功能),效果果然不错!

相 关 文 章
相 关 软 件
没有相关下载
逃生 放生 黄玫瑰 想太多 那滋味 擦肩而过 放手去爱 北京欢迎你 依然在一起 吻得太逼真 感动天感动地 坐上火车去拉萨 怎么会狠心伤害我
心碎 冲动 小太阳 别碰我 蒲公英 千山万水 改变自己 一定要爱你 等爱的玫瑰 陷入爱里面 北极星的眼泪 最后一次的温柔 亲爱的那不是爱情
光荣 火花 坏女人 日不落 樱花草 为你写诗 独家记忆 夏天的味道 寂寞才说爱 忘不掉的伤 爱上你是个错 第三者的第三者 地球人都知道我爱你
假如 相思 是非题 有缘人 舍不得 我的答铃 死而无憾 外滩十八号 越爱越难过 123木头人 和寂寞说分手 爱上你是我的错 爱情里没有谁对谁错
加入收藏留言建议自助友情链接普通友情链接站长的Blog
版权所有   COPYRIGHT 2002-2008 ★IT学习者★ ALL RIGHTS RESERVED.