随笔-295  评论-26  文章-1  trackbacks-0

在 IE6 中,可以很方便地利用 img 的 src 属性,实现本地图片预览,然而在 IE7 中,这种办法却行不通。需要用 AlphaImageLoader


AlphaImageLoader

说明:

在对象容器边界内,在对象的背景和内容之间显示一张图片。并提供对此图片的剪切和改变尺寸的操作。如果载入的是PNG(Portable Network Graphics)格式,则0%-100%的透明度也被提供。

语法:

filter : progid:DXImageTransform.Microsoft.AlphaImageLoader ( enabled=bEnabled , sizingMethod=sSize , src=sURL )

enabled:可选项。布尔值(Boolean)。设置或检索滤镜是否激活。
true:默认值。滤镜激活。
false:滤镜被禁止。

sizingMethod:可选项。字符串(String)。设置或检索滤镜作用的对象的图片在对象容器边界内的显示方式。
crop:剪切图片以适应对象尺寸。
image:默认值。增大或减小对象的尺寸边界以适应图片的尺寸。
scale:缩放图片以适应对象的尺寸边界。

src:必选项。字符串(String)。使用绝对或相对 url 地址指定背景图像。假如忽略此参数,滤镜将不会作用。


具体操作:

  1. 为预览区域(比如要在某个 div 中预览)添加样式:filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);。
  2. 为 AlphaImageLoader 设置 src 属性。

 

示例代码:

<? xml version="1.0" encoding="gb2312" ?>
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html  xmlns ="http://www.w3.org/1999/xhtml" >

< head >
< meta  http-equiv ="Content-Type"  content ="text/html; charset=gb2312"   />
< title > 本地图片预览代码(支持 IE6、IE7) </ title >
< style  type ="text/css" >
#newPreview
{
    filter
: progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale) ;
}

</ style >
< script  type ="text/javascript"  language ="javascript" >
<!--
function  PreviewImg(imgFile)
{
    
// 原来的预览代码,不支持 IE7。
     var  oldPreview  =  document.getElementById( " oldPreview " );
    oldPreview.innerHTML 
=   " <img src=\ " file:\\\\ "  + imgFile.value +  " \ "  width=\ " 80 \ "  height=\ " 60 \ "  /> " ;
    
    
// 新的预览代码,支持 IE6、IE7。
     var  newPreview  =  document.getElementById( " newPreview " );
    newPreview.filters.item(
" DXImageTransform.Microsoft.AlphaImageLoader " ).src  =  imgFile.value;
    newPreview.style.width 
=   " 80px " ;
    newPreview.style.height 
=   " 60px " ;
}

-->
</ script >
</ head >

< body >

< p > 说明:以下针对的是互联网情况,如果您在本地作测试,比如输入的地址是:http://127.0.0.1/,则可以看到全部预览。 </ p >

< hr  />

< p > 如果您使用的是 IE6,则可以看到以下预览;如果您使用的是 IE7,则看不到以下预览。 </ p >
< div  id ="oldPreview" ></ div >

< hr  />

< p > 不论您使用的是 IE6 还是 IE7,均可以看到以下预览。 </ p >
< div  id ="newPreview" ></ div >

< hr  />

< p > 请选择一个图片进行预览: < input  type ="file"  size ="20"  onchange ="javascript:PreviewImg(this);"   /></ p >

</ body >

</ html >


大盘预测 国富论
posted on 2007-09-29 13:16 华梦行 阅读(2702) 评论(4)  编辑  收藏

评论:
# re: 本地图片预览代码(支持 IE6、IE7) 2008-02-26 15:48 | flyboy2
如何实现预览图片的尺寸与原文件尺寸一样呢?!  回复  更多评论
  
# re: 本地图片预览代码(支持 IE6、IE7) 2008-02-27 19:22 | huamengxing
function PreviewImg(imgFile)
{
// 原来的预览代码,不支持 IE7。
var oldPreview = document.getElementById( " oldPreview " );
oldPreview.innerHTML = " <img src=\ " file:\\\\ " + imgFile.value + " \ " width=\ " 80 \ " height=\ " 60 \ " /> " ;

// 新的预览代码,支持 IE6、IE7。
var newPreview = document.getElementById( " newPreview " );
newPreview.filters.item( " DXImageTransform.Microsoft.AlphaImageLoader " ).src = imgFile.value;
newPreview.style.width = " 80px " ;
newPreview.style.height = " 60px " ;
}
-->
  回复  更多评论
  
# re: 本地图片预览代码(支持 IE6、IE7) 2008-11-03 12:42 | ss
用try{IE7}catch(err){
IE6
}  回复  更多评论
  
# re: 本地图片预览代码(支持 IE6、IE7) 2011-11-07 12:25 | asdas
[size=2][color=#000000][align=center][table=550,#cccc99][tr][td][/td][/tr][/table][/align][align=center][table=550,#f7f7f7][tr][td][table=540,#f7f7f7][tr][td]

[align=center][table=480,#ffffcc][tr][td][align=center][font=Impact][size=3][color=black]sprout.5d6d.com[[size=2]代码分享[/size]][/color][/size][/font][/align][/td][/tr][tr][td][/td][/tr][/table]

[font=Impact]
[size=2][color=black][/color][/size][/font][table=250,white][tr][td][align=center][font=Impact][size=2][color=black]播放器[size=3]or56[/size]相册[/color][/size][/font][/align][/td][/tr][tr][td][/td][/tr][/table]



[align=center][table=480,#ffffcc][tr][td][align=center][font=Impact][size=3][color=black]sprout.5d6d.com[[size=2]整段歌词[/size]][/color][/size][/font][/align][/td][/tr][tr][td][/td][/tr][/table][/align]


[align=center]
[font=Impact]
[size=2][color=black][/color][/size][/font][table=250,white][tr][td][align=center][font=Impact][size=2][color=black]摆个下载[/color][/size][/font][/align][/td][/tr][tr][td][/td][/tr][/table]




[/align]
[/td][/tr][/table][/align][/td][/tr][/table][/align][align=center][table=550,#cccc99][tr][td][/td][/tr][/table][/align][align=center][table=550,#cccc99][tr][td][/td][/tr][/table][/align][align=center][table=550,#cccc99][tr][td][/td][/tr][/table][/align]
[/color][/size]  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: