赞
踩
最近看了github的jsfl的一些开源的文件,感觉开源真厉害,可以看到不同的人的思维是怎样的。最近想继续整合jsfl的新版本,今天先练习一下,采用jsfl输出文本代码,其实在fb里面采用代码片段即可完成这种事情。不过折腾一下也是学习一种过程。好,下面粘贴一下代码。
在jsfl ,常用的一种套路就是选择元件,然后干些什么事情。依旧这个套路,在jsfl里面,我发现一些大神制作了很多有意思的jsfl 脚本。例如选择一组元件,输出数组,选择元件快速隐藏,还有添加滤镜代码等等,我觉得这些都是创意,其中比较实用性是快速裁剪九宫,这个比较实用,不知道为何adobe 一直没把这个脚本加进去ide去。不过网上已经有几个不同的版本可以完成这个事情了。
下面就是一个简单的选择文本输出一些代码的简单脚本。这个脚本还可以继续扩展其他实用性的脚本。基本的套路依旧选择什么 干点什么事情。
- var doc = fl.getDocumentDOM();
-
- var selection = doc.selection;
- var len = selection.length;
- for(var i = 0; i < len; i++)
- {
- var selectItem = selection[i];
- if(selectItem.elementType == "text")
- {
- var str="var textField:TextField=new TextField();"
- fl.trace(str);
- fl.trace("textField.x="+selectItem.x+";");
- fl.trace("textField.y="+selectItem.y+";");
- fl.trace("textField.width="+selectItem.width+";");
- fl.trace("textField.height="+selectItem.height+";");
- fl.trace("textField.height="+selectItem.height+";");
- fl.trace("var tf:TextFormat = new TextFormat();");
- var font=getFontName(selectItem.textRuns[0].textAttrs["face"]);
- fl.trace('tf.font ="$1";'.replace("$1",font));
- fl.trace(" textField.defaultTextFormat = tf;");
- fl.trace("textField.text=\""+selectItem.textRuns[0].characters+"\";");
-
- }
- }
-
- function getFontName(name)
- {
- var obj=new Object();
- obj["宋体"]="SimSun";
- obj["黑体"]="SimHei";
- //补充下去
- return obj[name];
- }
-
-
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。