- 浏览: 584691 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (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 1342from http://www.9ria.com/news/2 ... -
swf文件的数据结构以及转为exe或从exe中剥离出swf的代码
2011-11-14 22:11 2119swf文件的数据结构以及转为exe或从exe中剥离出swf的源 ... -
swf的详细介绍
2011-11-14 21:17 1231介绍链接一 http://as3.iteye.com/blog ... -
三个重要的处理swf的开源软件
2011-11-14 18:33 1315抓紧时间研究jswiff,swfmill,swfml jsw ... -
IText中文处理问题!!!
2011-11-08 16:19 1164引用2008年06月05日 星期四 下午 10:29这里说的I ... -
FlexBook
2011-05-06 13:12 1553FlexBook from [url ... -
[2011-04] Flex里自定义进度条ProgressBar样式皮肤
2011-04-20 15:47 26232011-01-29 11:08trackbar是整个的条 ... -
[2011-04] flex弹出模式窗口
2011-04-19 17:25 16161、创建一个component,继承自 TitleWindow ... -
[2011-04] Flex调用C# Webservice
2011-04-19 14:19 1146关键字: flex数据交互 终于试出flex用WebSer ... -
[2011-04-19]Flex程序实现背景贴图的两种方式
2011-04-19 10:33 1267Flex程序实现背景贴图的两种方式 Two ways to i ... -
Flex Component Kit for Flash CS3 安装方法及前提
2011-04-15 10:22 1282from http://kingapex.iteye.com/ ... -
as3 flash web 应用 (6)swfobject的使用:将flash嵌入页面
2011-04-14 10:27 2448from http://hi.baidu.com/yukon_ ... -
pdftk 为偶数页加水印
2011-03-23 17:27 2248引用查看完整版本 : 找 ... -
借助 unoconv 批量转 xls 到 pdf文件
2011-03-23 14:44 3314文章分类:Web前端 因为 ... -
swftools安装
2011-03-09 08:44 1463安装swftools工具时,在windows平台下是很简单的事 ... -
flex3下使用全屏模式
2011-03-03 10:12 983引用flex3下使用全屏模式 MXML: -------- ... -
Flex生成SDK下Local目录下的语言包
2011-02-25 16:44 1653from http://sensaran.wordpress. ... -
swf文件格式解析入门(tag解析)
2011-02-24 15:24 2845收藏 swf文件格式解析入门(tag解析) 2010 ... -
转成swf文件注意事项
2011-02-21 10:23 8861\ 这里同时给大家提供一个建议就是,对于纯位图的资源文 ... -
解析SWF文件头中的Rect结构
2011-02-15 15:25 1672编辑 文章分类:Flash编程 ...
相关推荐
PDF转换为SWF是将PDF文档转换为Flash动画文件的过程,这种转换在互联网上常见,因为SWF文件可以在网页上直接播放,无需安装PDF阅读器。这个过程涉及到多个技术领域,包括PDF处理、Flash编程以及ASP.NET服务器端开发...
在这个“读取xml配置文件的flash导航菜单”项目中,开发人员创建了一个动态的Flash菜单系统,该系统能够从外部XML文件中获取其配置信息,从而实现菜单项的动态加载和更新。下面将详细解释这个技术实现的各个方面。 ...
在IT行业中,文件上传是网页应用中不可或缺的功能之一,尤其在社交网络和云存储服务中。`uploadify`是一款基于jQuery的文件上传插件,它为开发者提供了方便、高效的文件上传解决方案。本篇文章将深入探讨如何使用`...
这个例子还包含了`txt.fla`和`txt.swf`,它们分别是Flash的源文件和编译后的SWF文件,可能包含了上述代码的实现。`TxtAs.as`可能是一个ActionScript类文件,它包含了加载XML和处理数据的具体逻辑。通过查看这些文件...
本文将详细介绍如何使用Flash AS2.0进行开发,包括加载SWF文件、加载文本数据、处理声音、跳转场景等关键知识点。 #### 外部调用SWF 在Flash AS2.0中,可以使用`loadMovieNum`方法来加载外部SWF文件。例如: ```...
在Flash中,可以通过更改ActionScript编译器设置来改变SWF文件的默认背景颜色。具体操作步骤如下: - 打开“Navigator”菜单。 - 选择“Properties”选项。 - 在弹出的窗口中找到“ActionScript Compiler”设置项。 ...
SWFUpload 是一款开源的JavaScript库,专门用于在网页上实现文件的多选上传,并且支持显示上传进度条,为用户提供更好的交互体验。在这个实例中,我们将探讨如何在VS2012环境下,使用.NET Framework 4.0开发一个基于...
总之,C#227打开Flash动画涉及了对SWF文件格式的理解,使用第三方库如AS3CoreLib来解析文件,以及可能的自定义播放和渲染机制。随着技术的发展,这些知识更多的是作为历史参考,而不是现代开发的首选方法。
这个设计利用了ActionScript 3.0(AS3)的强大功能,通过XML文件来存储新闻数据,而CSS(层叠样式表)则负责定义新闻列表的样式,以实现可定制化和易维护的界面。以下将详细讲解这些知识点。 **ActionScript 3.0 ...
这些参数在HTML页面嵌入SWF文件时作为URL的一部分传递。例如,一个嵌入Flash的HTML代码可能如下所示: ```html <param name="movie" value="myFlash.swf?param1=value1¶m2=value2" /> <embed src="myFlash....
swf: '/js/test/uploadify.swf', // SWF文件路径 uploader: 'http://www.vincce.com/Home/UploadFile', // 上传地址 width: 120, removeTimeout: 1, 'onUploadSuccess': function(file, data, response) { // ...
4. `index.swf`:编译后的SWF文件,是最终运行的Flash应用程序。 5. `xml`:这是要加载的XML文件,包含了要解析的数据。 在AS3中,我们可以使用`flash.net.URLLoader`类来加载XML文件,`flash.xml.XML`类来处理解析...
Uploadify是一款基于JavaScript和Flash的文件上传组件,它允许用户通过拖拽或选择文件的方式,实现多文件同时上传,具有进度条显示、自定义样式、错误提示等丰富的功能,极大地提升了用户体验。 首先,我们来深入...
为了更改SWF文件的基本属性(如背景颜色),可以在项目的编译设置中进行调整。具体步骤如下:打开“Navigator”窗口,右键点击你的项目,选择“Properties”,然后进入“ActionScript Compiler”选项卡,在...
在Web开发中,实现文件上传功能是一种常见的需求,特别是上传视频文件,这类文件往往体积较大且格式多样,所以在实现上传功能时需要考虑到文件大小、格式校验等多方面的因素。本文将围绕JavaScript中使用WebUploader...
AS可以通过`Date`类获取当前系统时间,并使用`getHours()`、`getMinutes()`和`getSeconds()`方法来获取小时、分钟和秒。然后,这些值会被转换为角度,因为Flash中的图形通常是通过角度旋转来模拟实际运动的。例如,...
为了更改输出的SWF文件中的背景颜色、尺度或帧频等属性,可以通过调整项目的“ActionScript Compiler”设置来实现。具体步骤如下: 1. 在“Navigator”窗口中右键点击项目。 2. 选择“Properties”。 3. 进入...
7. 发布和嵌入:最后,将Flash项目导出为SWF文件,将其嵌入到网页中,并确保XML数据文件与SWF文件在同一目录下,以便于加载。 以上就是关于“flash+xml的3D效果焦点图代码”的基本知识介绍。这个技术组合不仅可以...
`library.swf`是一个包含预编译AS3类的SWF文件,这些类就是fl.*类库的一部分。`catalog.xml`则是元数据文件,它记录了`library.swf`中的类信息,包括类名、依赖关系等,方便IDE(如FlexBuilder)进行索引和识别。 ...