易截截图软件、单文件、免安装、纯绿色、仅160KB

flash如何控制外部加载的图片大小的解决方法

很多人出现flash加载外部图片而不能控制显示大小的问题,导致这样问题的原因其实是因为flash在加载图片是采用渐进式的方式,在图片没有加载完成的时候,flash是不知道你的图片的大小的和尺寸的属性的。所以你在程序中即时加入控制大小的代码也无法控制图片。因为代码往往在图片还没有加载完之前就执行了,也就是说你的代码是找不到执行的对象的。所以使用_width和_height代码是无效的。而_xscale和_yscale可以执行但是因为是按照百分比计算的,所以也不能控制不同大小的图片最后显示同样大小的尺寸。
解决办法:
loadClip代码,我想你应该也是知道的, loadClip代码就是解决这个问题的最佳人选了。loadMovie属于初级代码,它没有侦听器这样的属性,因此无法捕捉到文件的属性(大小,尺寸)。因此我们不推荐使用这个代码,如果你的flash只是用于本机播放的,不存在网络延迟那么也就无所谓的了,但是如果你要控制加载图片的大小,那么还是需要用loadClip即时你的flash是本地播放的,因为即时加载本地的图片,加载图片的时间肯定也是滞后于代码执行的,因此我们选用loadClip代码,作为加载外部文件的最佳代码。
我们看以下它侦听器的各项属性:(我这里就讲一个了)
onLoadInit
属性是用于检测文件状态属性的
这个属性非常的重要,因为它能告诉你图片的各项属性,也就是只有这个时候你才能知道文件的尺寸大小。你可以试一下trace(MC._width)是不是就是图片的大小。如果是,就证明图片已经加载完毕,并且你可以通过程序去控制它的大小了。
onLoadInit= function(target_mc:MovieClip){
       target_mc._width=100;
       target_mc._height=100;
}
看看是不是加载近来的图片就是100像素*100像素的显示了,你可以通过程序自由控制加载近来的图片大小了。
延伸代码,如何让你的图片可以宽是100像素而高是等比缩放的呢?
onLoadInit = function(target_mc:MovieClip){
       target_mc._height=(100*target_mc._height)/target_mc._width;
       target_mc._width=100; 
}
target_mc._height=(100*target_mc._height)/target_mc._width;
放在上面很重要的哦,千万不要这样放:
target_mc._width=100;
target_mc._height=(100*target_mc._height)/target_mc._width;
这样你的高肯定不是等比率


相关文档:

[Flash]NAND Flash的寻址方式(转)

gebi1218 发表于 2010-5-25 22:35:00NAND Flash的寻址方式和NAND Flash的memory组织方式紧密相关。NAND Flash的数据是以bit的方式保存在memory cell,一般来说,一个cell中只能存储一个bit。这些cell以8个或者16个为单位,连成bit line,形成所谓的byte(x8)/word(x16),这就是NAND Device的位宽。这些Line会再组成Page,通 ......

Aspx中为flash生成一个鼠标点击事件

 以下是用datalist绑定了一些flash视频。客户端点击这个视频,则跳出一个网页。
<Script     language="javascript">   
    function     OpenAdvertPage(URL)     {  
    win ......

Flash与组件:制作Slider组件

   利用as3,我们可以尝试制作一些有趣的组件,虽然现在已经有很多实用的组件,但是自己尝试写一下也是不错的。利用as3语法,借用了绘图Api我们尝试制作一下这个组件。因为我们不需要很强大的功能,对此我们只是需要选取其一部分就可以。
首先,我们所需的制作两个图形,一个是拖动的方块,一个是底图片。对于这 ......

flash插入页面后在IE下stageWidth为0的bug

用SWFObject,将swf文件嵌入网页后,在IE浏览器中首次浏览正常,刷新后,stageWidth就为0了,swf中基于stageWidth定位的元素,就会错乱。
转自(ljhzzyx 2009-09-24 14:44:20)
首先区分一下stage的stageWidth和width属性。stage.stageWidth是flash player的宽度,stage.width是指stage里content的宽度,如果这个舞台(sta ......

解决div被flash遮挡问题


很多时候,当你有一个层是需要漂浮在页面之上显示的时候,而你的页面里又存在FLASH,这个时候,漂浮层会被FLASH遮挡住,那么解决办法就是给FLASH设置透明属性。
添加参数<param name="wmode"
value="transparent"> 
//可很好的被IE浏览器所支持
将 wmode="transparent"
加 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号