- 浏览: 570610 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (365)
- Tomcat调优 (2)
- Apache Http (20)
- Webserver安装 (5)
- Linux安装 (28)
- Linux常用命令 (17)
- C语言及网络编程 (10)
- 文件系统 (0)
- Lucene (12)
- Hadoop (9)
- FastDFS (8)
- 报表 (0)
- 性能测试 (1)
- JAVA (18)
- CSharp (3)
- C++ (38)
- BI (0)
- 数据挖掘 (0)
- 数据采集 (0)
- 网址收集整理 (3)
- Resin (0)
- JBoss (0)
- nginx (0)
- 数据结构 (1)
- 随记 (5)
- Katta (1)
- Shell (6)
- webservice (0)
- JBPM (2)
- JQuery (6)
- Flex (41)
- SSH (0)
- javascript (7)
- php (13)
- 数据库 (6)
- 搜索引擎排序 (2)
- LVS (3)
- solr (2)
- windows (1)
- mysql (3)
- 营销软件 (1)
- tfs (1)
- memcache (5)
- 分布式搜索 (3)
- 关注的博客 (1)
- Android (2)
- clucene (11)
- 综合 (1)
- c c++ 多线程 (6)
- Linux (1)
- 注册码 (1)
- 文件类型转换 (3)
- Linux 与 asp.net (2)
- perl (5)
- coreseek (1)
- 阅读器 (2)
- SEO (1)
- 励志 (1)
- 在线性能测试工具 (1)
- yii (7)
- 服务器监控 (1)
- 广告 (1)
- 代理服务 (5)
- zookeeper (8)
- 广告联盟 (0)
- 常用软件下载 (1)
- 架设自已的站点心得 (0)
最新评论
-
terry07:
java 7 用这个就可以了 Desktop desktop ...
关于java Runtime.getRunTime.exec(String command)的使用 -
HSINKING:
怎么设置打开的dos 窗口是指定的路径下
关于java调用bat文件,不打开窗口 -
liubang201010:
hyperic hq更多参考资料,请访问:http://www ...
hyperic-hq -
^=^:
STDIN_FILENO是unistd.h中定义的一个numb ...
深入理解dup和dup2的用法 -
antor:
留个记号,学习了
[转]用java流方式判断文件类型
主页博客相册|个人档案 |好友 查看文章 AS获取SWF文件的宽和高!(实现如下类)2011-02-17 11:24package xzy.loadInfo{ import flash.utils.*; import flash.errors.IOError; public class swfHanderInfo { protected var w_h_ruleList:Array; protected var _type:String;//标识 protected var _version:uint;//版本 protected var _size:uint;//文件大小 protected var _width:uint;//场景宽 protected var _height:uint;//场景高 protected var _fps:uint;//桢频 protected var _frames:uint;//场景上的桢数 public function swfHanderInfo(BA:ByteArray) { setWHruleList(); parseByteArray(BA); } protected function parseByteArray(BA:ByteArray):void { var binary:ByteArray=new ByteArray; binary.endian=Endian.LITTLE_ENDIAN; BA.readBytes(binary,0,8);//取前8个字节,包括了是否是swf,版本号,文件大小 _type=binary.readUTFBytes(3);//前3个字节是SWF文件头标志,FWS表示未压缩,CWS表示压缩的SWF文件 _version=binary[3];//第4个字节为版本号 _size=binary[7]<<24|binary[6]<<16|binary[5]<<8|binary[4];//文件大小按照8765字节的顺序排列的16进制 //trace(_size,":size"); //trace(_version,":version"); binary.position=8;//移到第9个字节位置,从这里开始就是swf 的控制码区和宽高数据区,宽高最多占用9个字节 var mainData:ByteArray=new ByteArray; BA.readBytes(mainData); if (_type == "CWS") {//未压缩的swf标识是FWS,压缩过的swf标识是CWS mainData.uncompress();//从第9个字节起用解压缩 } else if (_type != "FWS") { //trace("..."+_type+"...") throw new IOError("出错:不是swf文件!"); }//不是cws,也不是fws,表示不是swf文件,抛出错误! binary.writeBytes(mainData,0,13);//再写13个字节,这里包括了swf的桢速/桢数 //当前第8个字节位为控制码 var ctrlCode:String=binary[8].toString(16); //trace(ctrlCode,":ctrlCode"); var w_h_plist:Array=getW_H_RulePosition(w_h_ruleList,ctrlCode); var len=w_h_plist[2]; //trace("宽高占用"+len+"个字节"); var s:String="";//存储宽高数据的相关字节码 for (var i=0; i < len; i++) { var _temp=binary[i + 9].toString(16); if (_temp.length ==1) { _temp="0" + _temp; } s+= _temp; } //trace(s); _width=new Number("0x" + s.substr(w_h_plist[0][0],4)) / w_h_plist[0][1]; _height=new Number("0x" + s.substr(w_h_plist[1][0],4)) / w_h_plist[1][1];//相应取值得到宽高 trace(width,":width"); trace(height,":height"); var pos=8+len; _fps=binary[pos+=2];//宽高数据区完跳一字节位置就是fps值 //trace(_fps,":fps"); _frames=binary[pos+2]<<8|binary[pos+1];//桢数占两个字节,由低位到高位组成,是不是说时间轴的最大桢数就为65535? //trace(_frames,":frames"); } protected function setWHruleList():void {//存储宽高的数据 w_h_ruleList=[]; w_h_ruleList[0]={ctrlCode:"50",position:[[0,10],[5,10],5]}; w_h_ruleList[1]={ctrlCode:"58",position:[[1,40],[6,10],6]}; w_h_ruleList[2]={ctrlCode:"60",position:[[1,10],[7,10],6]}; w_h_ruleList[3]={ctrlCode:"68",position:[[2,40],[8,10],7]}; w_h_ruleList[4]={ctrlCode:"70",position:[[2,10],[9,10],7]}; w_h_ruleList[5]={ctrlCode:"78",position:[[3,40],[10,10],8]}; w_h_ruleList[6]={ctrlCode:"80",position:[[3,10],[11,10],8]}; w_h_ruleList[7]={ctrlCode:"88",position:[[2,40],[12,10],9]}; } protected function getW_H_RulePosition(list:Array,str:String):Array { for (var i in list) { if (list[i].ctrlCode == str) { break; } } return list[i].position; } /** * Public methods */ public function toString():String { return "[type:" + _type + ",version:" + _version + ",size:" + _size + ",width:" + _width + ",height:" + _height + ",fps:" + _fps + ",frames:" + _frames + "]"; } /** * Public get methods */ public function get type():String { return _type; } public function get version():uint { return _version; } public function get size():uint { return _size; } public function get width():uint { return _width; } public function get height():uint { return _height; } public function get fps():uint { return _fps; } public function get frames():uint { return _frames; } } } 应用: //上面这个类可以直接复制过去就能用 //然后比如你要加载的swf地址为“www.a.com/a.swf” package { import com.ycccc.swfLoader.swfHanderInfo; //import xzy.loadInfo.swfHanderInfo import flash.events.Event; import flash.utils.ByteArray; import flash.display.Loader; import flash.net.URLRequest; import flash.net.URLLoader; import flash.display.MovieClip; import flash.display.Shape; import flash.net.URLLoaderDataFormat public class Main extends MovieClip { private var swfInfo:swfHanderInfo; private var urlloader:URLLoader=new URLLoader(); private var loader:Loader=new Loader(); public function Main() { // constructor code loader.contentLoaderInfo.addEventListener(Event.COMPLETE,loader_complete); urlloader.dataFormat = URLLoaderDataFormat.BINARY; urlloader.addEventListener(Event.COMPLETE,swf_loaded); urlloader.load(new URLRequest("http://zqbbs.netsh.com/usr/12/12_191_15.swf")); } private function swf_loaded(e:Event):void { swfInfo = new swfHanderInfo(ByteArray(urlloader.data)); trace("宽度:"+swfInfo.width,"高度:"+swfInfo.height); loader.loadBytes(urlloader.data); } private function loader_complete(e:Event):void { var mc:MovieClip=new MovieClip(); var rect:Shape=new Shape(); rect.graphics.beginFill(0xFFFFFF); rect.graphics.drawRect(0,0,swfInfo.width,swfInfo.height); rect.graphics.endFill(); mc.addChild(rect); mc.mask = rect; mc.addChild(loader); addChild(mc); //至于具体的位置你自己计算吧,也就是mc的位置 } } }
http://hi.baidu.com/sacrtap/blog/item/69abda80f61afac49023d968.html
发表评论
-
swf文件压缩
2011-12-01 18:29 1310from http://www.9ria.com/news/2 ... -
swf文件的数据结构以及转为exe或从exe中剥离出swf的代码
2011-11-14 22:11 2073swf文件的数据结构以及转为exe或从exe中剥离出swf的源 ... -
swf的详细介绍
2011-11-14 21:17 1181介绍链接一 http://as3.iteye.com/blog ... -
三个重要的处理swf的开源软件
2011-11-14 18:33 1283抓紧时间研究jswiff,swfmill,swfml jsw ... -
IText中文处理问题!!!
2011-11-08 16:19 1137引用2008年06月05日 星期四 下午 10:29这里说的I ... -
FlexBook
2011-05-06 13:12 1514FlexBook from [url ... -
[2011-04] Flex里自定义进度条ProgressBar样式皮肤
2011-04-20 15:47 25752011-01-29 11:08trackbar是整个的条 ... -
[2011-04] flex弹出模式窗口
2011-04-19 17:25 15811、创建一个component,继承自 TitleWindow ... -
[2011-04] Flex调用C# Webservice
2011-04-19 14:19 1114关键字: flex数据交互 终于试出flex用WebSer ... -
[2011-04-19]Flex程序实现背景贴图的两种方式
2011-04-19 10:33 1237Flex程序实现背景贴图的两种方式 Two ways to i ... -
Flex Component Kit for Flash CS3 安装方法及前提
2011-04-15 10:22 1245from http://kingapex.iteye.com/ ... -
as3 flash web 应用 (6)swfobject的使用:将flash嵌入页面
2011-04-14 10:27 2403from http://hi.baidu.com/yukon_ ... -
pdftk 为偶数页加水印
2011-03-23 17:27 2204引用查看完整版本 : 找 ... -
借助 unoconv 批量转 xls 到 pdf文件
2011-03-23 14:44 3242文章分类:Web前端 因为 ... -
swftools安装
2011-03-09 08:44 1429安装swftools工具时,在windows平台下是很简单的事 ... -
flex3下使用全屏模式
2011-03-03 10:12 941引用flex3下使用全屏模式 MXML: -------- ... -
Flex生成SDK下Local目录下的语言包
2011-02-25 16:44 1609from http://sensaran.wordpress. ... -
swf文件格式解析入门(tag解析)
2011-02-24 15:24 2806收藏 swf文件格式解析入门(tag解析) 2010 ... -
转成swf文件注意事项
2011-02-21 10:23 8441\ 这里同时给大家提供一个建议就是,对于纯位图的资源文 ... -
解析SWF文件头中的Rect结构
2011-02-15 15:25 1644编辑 文章分类:Flash编程 ...
相关推荐
flash cs6 as3.0编写的调用外部swf文件,并实现被导入swf文件的内外控制,被导入文件about.swf自带两个控制按钮,about.swf导入index.swf后,通过index.swf中的两个按钮控制about.swf的播放与暂停,并实现了代码的...
比较另类的swf播放器!!!!!!!!!!!!!!
用AS3编写,点击不同的按钮加载不同的外部SWF文件,显示在固定尺寸的舞台上,同一时该只能加载一个外部文件,自动调整被加载文件的尺寸以适应容器大小。昨天上传那个不知道为什么见不到,再次上传并添加了部分容错...
在一些业务需求下,如用摄像头拍证件照等,需要更高分辩率的图,所有我用官方提供的源码as及xml文件,用swfmill + mtasc重新编译生成自定义宽度和高度(如:800x800)的jscam.swf文件,以便充分利用高清摄像头资源。...
命令行下直接编译as文件为swf的方法,修改文件中的命令行存为bat放到你的as文件目录下双击即可
swf文件制作swf文件制作swf文件制作swf文件制作
AS3 调用SWF类库 调用SWF类库 调用SWF类库
有效的去除flash swf文件加密,使flash文件中的各种资源 可以提取编辑 有效的去除flash swf文件加密,使flash文件中的各种资源 可以提取编辑
自定义宽高像素的jscam.swf文件生成工具,可根据自定义宽高生成jscam.swf文件
as3swf AS3库
SWF文件修改工具SWF文件修改工具SWF文件修改工具SWF文件修改工具
解析swf文件 源码
用ActionScript 3.0加载外部SWF文件,每个按钮对应一个文件,在同一时刻只能加载一个文件,令被加载的文件显示在固定大小的容器内。Adobe Flash CS4格式
西工大cisco课程ppt以及用到的swf文件!绝对原版!
一款可以修改swf文件的工具
用delphi实现 swf文件和图像 合 成
flash游戏开发之 如何反编译.swf文件得到actionscript3 as3源代码.zip
可将exe文件转换为swf文件 想屏幕录像的EXE文件很轻松转换为swf文件放到网站上!
swf文件修改器,这个是真正的好软件,操作简单,随意修改,是你最好的SWF文件的修改利器!
将Word等符合要求的文件上传到服务器后转换成Swf文件并且显示,而且需要和JS交互来实现显示SWF的一些控制 所以自己很早深入研究过Flash的一些插件源码 也试着修改过 最近看到很多人遇到这个问题 所以分享一下。 不喜...