Flex嵌入字体的方法(二)
上次说了直接把字体嵌入到flex程序中的方法,这次写一下将字体编译成swf后供其它flex程序加载来调用的方法。
首先,新建一个actionscript的project,取名为FlexFont,将字体文件放到src/font目录下,主程序为
FlexFont.as文件,内容如下:
package {
import flash.display.Sprite;
public class FlexFont extends Sprite {
[Embed(source="font/adobehei.otf",fontName="AdobeHei",advancedAntiAliasing="true",mimeType="application/x-font")]
public var AdobeHei:Class;
}
}
编译project产生FlexFont.swf文件,到这里字体的swf文件已经编译完成。
然后,将生成的swf文件放到需要使用相应字体的flex程序目录下,在flex的Application中使用SWFLoader加载
FlexFont.swf,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
width="100%" height="100%" fontSize="20"
creationComplete="initApp()">
<mx:Script>
<![CDATA[
private function initApp():void {}
private function fontLoadComplete(event:Event):void {
try {
Font.registerFont(event.target.content["AdobeHei"]);
txt.setStyle("fontFamily", "AdobeHei");
}
catch(e:Error){
trace(e.toString());
}
}
]]>
</mx:Script>
<mx:SWFLoader source="FlexFont.swf"
complete="fontLoadComplete(event);"
width="0" height="0" includeInLayout="false" visible="false"/>
<mx:TextArea id="txt" width="300" height="300"/>
</mx:Application>
这时,TextArea的字体已经被设置为FlexFont中的AdobeHei了。
相关文档:
拖动水平滚动条来改变图片大小。
<?xml version="1.0"?>
<!--
Simple example to demonstrate the HSlider control.
水平拖动条。
MyShareBook.cn 翻译   ......
用Flex4加载Flex3的组件时,发现了这个问题:
当用spark添加一个mx组件时不会有问题,但当这个mx组件中还有其他组件
例如<mx:HBox><mx:Canvas/></mx:HBox>被添加到<s:Group></s:Group>
(注:通过AS代码使用addElement()添加,而不是直接写到mxml中)
stage.frameRate会瞬间达到1000!
之 ......
1:http://bbs.9ria.com/viewthread.php?tid=44441
2:http://help.adobe.com/en_US/flex/using/WSA95C9644-B650-4783-B5C0-D2C7F95A23E3.html#WS46970071-A39D-49de-B881-66F639787305
3:http://flex4jiaocheng.com/blog/268
4:http://www.k-zone.cn/zblog/post/flash-builder-gumbo-customer-sparkskin.html
5:htt ......
前一阵在论坛上看到一个兄弟,想在Flex Chart中为图例设置3D效果,近几天查找了些资料,动手做了个DEMO供大家参考!
DEMO演示地址http://xingjunli.webs.com/flash/flexChartDemo.swf,先来个图片看看最终效果:
相关知识点
1、图表使用的 ......