【转载】通过JSFL让Flash Professional CS4或CS5拥有批量FLA导出SVG的功能
近期一个项目要求博主爱吾所爱(爱生活=爱技术)将 所有的.fla源文件里的图形都转为.svg矢量图,经常一番搜索之后,发现新版本的Flash Professional CC已经有此功能,但无奈我等用的机子是老版本CS4.0,那怎么办呢?安装CC需要太多的改变,主机是需要64位的系统,不可能为了这一个功能而装一个 新系统。于是再搜索,果然有解决办法,那就是安装插件!Github上有一高人搞了一个名为Extensible的项目,里面就有为Flash Professional制作的JSFL库(Extensible JSFL Library for Flash Professional:https://github.com/davebelais/Extensible/)。Dave Belais的工作极大的方便我的项目进展,在此向他表示感谢!
但是他的插件并不是完全适合博主爱吾所爱(爱生活=爱技术)的 需要。主要是因为项目有许多.fla的源文件,而这个插件安装完成之后,在Windows->Other Pannels 会出现SVG菜单项,打开之后,是一个可以调各种输出参数的面板——这一切的一切,表明了不能自动化处理所有的任务!这是不行的,得想办法解决。而出现在 Commands菜单中的Export SVG,也无法最终导出文件。无奈之下,只能研究大神的源代码,看看是否还有一线希望了。
下面就将研究结果给大家分享一下。
在Commands菜单的Export SVG.jsfl文件中,有这么短短的两句:
| if(!this.extensible){fl.runScript(fl.configURI+”Javascript/Extensible/init.jsfl”);} |
| (function(ext){ |
| extensible.que.push( |
| new extensible.SVG() |
| ); |
| })(extensible) |
说明init.jsfl文件是至关重要的。此插件都是建立在Extensible这个“类”(姑且这么叫)之上,而Extensible类,就是在init.jsfl文件中定义的。
1. function Extensible(options){…}定义了这个类的属性。
2. Extensible.prototype={…}定义了类的方法。
3. extensible.load( [ ...]),将插件的其他脚本载入进来。
现在分析一下,在有一个Fla文件打开的情况下,在SVG面板中能够成功生成SVG文件,而用Commands菜单里的却不行,可能是缺乏对文件的 引用吧。那么,在Extensible中对文件的引用是怎样的机制呢?可以找到set doc和get doc的定义,原来返回的就是fl.getDocumentDOM()啊。
【转载】通过JSFL让Flash Professional CS4或CS5拥有批量FLA导出SVG的功能的更多相关文章
- adobe 蛋疼的套装, 想安装一个Flash Professional CS6,标准版还没有...
产品比较 查看内容 查看各 Creative Suite 6 版本的组件. Design Standard Design & Web Premium Production Premium Ma ...
- Flash Professional CS6 安装zxp插件
说明 头两天因工作原因需要使用DragonBones,他的工作方式是的Flash Professional CS5.5以上的环境. DragonBones提供的是一个文件名为:xzp的文件,在Wind ...
- 最近比较迷flash professional cc 做PPT,做一个flash做动态打字效果的教程
想做一个flash打字效果.网上的方法要不是太繁琐,要不然就是各种遗漏.在这边做一个行之有效的flash做打字效果教程. 首先我用的是最新版本的flash professional cc .但是应该和 ...
- SWF运行时判断两个DisplayObject是否同个类型,属于flash professional库中的同一个元件
一般我们判断两个实例对象是否同样的类型,可以用typeof得到对象类型,然后用==号比较. typeof适用于原生类型. 而对于自定义类型,虽然typeof得到的都是Object,但还有更强的招数:g ...
- 转载-STM32片上FLASH内存映射、页面大小、寄存器映射
原文地址:http://blog.chinaunix.net/uid-20617446-id-3847242.html 本文以STM32F103RBT6为例介绍了片上Flash(Embedded Fl ...
- 创建和导出SVG的技巧(转载)
本文转载自: 创建和导出SVG的技巧
- 【转载】Serial NOR Flash and U-Boot
转载自:http://blackfin.uclinux.org/doku.php?id=bootloaders:u-boot:serial-flash U-Boot supports serial N ...
- jsfl 生成flash 工具面板
利用flash组件的List做界面,先从flash中拖出List组件,然后删除.绑定Main类. package { import flash.display.Sprite; import flash ...
- 转载:div和flash层级关系问题
转自:http://sin581.blog.163.com/blog/static/860578932012813112334404/ 问题: ie下默认好像div层级没有flash层级高,也 ...
随机推荐
- java高级---->Thread之FutureTask的使用
FutureTask类是Future 的一个实现,并实现了Runnable,所以可通过Excutor(线程池) 来执行,也可传递给Thread对象执行.今天我们通过实例来学习一下FutureTask的 ...
- javascript:;禁用a标签默认功能的缺点。
在使用a标签做切换tab或者其他功能时,经常使用javascript:;来作为a标签的href来使用. 缺点: 1.在js尚未加载的情况下,点击该a标签会弹出新窗口. 2.会使gif动画失效(没经历过 ...
- 【BZOJ4922】[Lydsy六月月赛]Karp-de-Chant Number 贪心+动态规划
[BZOJ4922][Lydsy六月月赛]Karp-de-Chant Number Description 卡常数被称为计算机算法竞赛之中最神奇的一类数字,主要特点集中于令人捉摸不透,有时候会让水平很 ...
- ThinkPHP流程控制!
IF判断: 在thinkphp 中不能使用 <> 这样的尖括号: <if condition='表达式'> <elseif condition='表达式'/> &l ...
- kafka简介【转】
一.为什么需要消息系统 () 解耦 在项目启动之初来预测将来项目会碰到什么需求,是极其困难的.消息系统在处理过程中间插入了一个隐含的.基于数据的接口层,两边的处理过程都要实现这一接口.这允许你独立的扩 ...
- nginx ---refine---按需时间/流量进行调整后台服务器---geocity,proxypass
原理相当于配置文件在启动时进行编译,proxyPass http://mydomain/path/xxxx这种方式是编译成静态的,直接替换成它解析到的ip/vip,只有重新启动时才会重新解析. 而 s ...
- Qt::浅谈信号槽连接,参数在多线程中的使用
Qt的信号槽有五种连接方式定义在enum Qt::ConnectionType,下面简单介绍 Qt::AutoConnection:自动判断连接方式,如果信号发送对象和执行槽对象在同一线程,那么等于Q ...
- 爬虫Scrapy框架
安装scrapy 在安装过程中报错:解决方案 通过在https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted,然后下载: CP后是python 版本,32 ...
- Day19 客户关系系统实战
day19 今日内容 Service事务 客户关系管理系统 Service事务 在Service中使用ThreadLocal来完成事务,为将来学习Spring事务打基础! 1 DAO中的事务 ...
- windows 系统无法启动windows event log 服务
windows 系统无法启动windows event log 服务 关键词:无法启动系统事件日志 尝试解决步骤 [1]权限:把如图中logsfile文件等都给local service [2]把C: ...