字符转点字符点阵的函数及示例-Flash教程

来源: 作者: 更新时间:2008-03-04 点击:

写程序的时候忽然想到的方法,感觉简单又好用,一个实用函数,所以发出来,下面是这个函数:

function txtToPosArr(dt:String, w:Number, h:Number):Array {
/*
* author: fanflash(www.fanflash.cn)
* date: 2007-5-14
* info: 将文字转为点阵诸存
* -----Parameters-------
* dt: 要转换成字符串的字符
* w: 两点像素点之间的横轴间距
* h: 两点像素点之间的纵轴间距
* note: 假如想增加点的密度,可以把文本字号设置大些
*/
//检查参数的可用性
w = (w != undefined) ? w : 0;
h = (h != undefined) ? h : 0;
var t_txt:TextField = _root.createTextField(\"txtToPosTxt\", _root.getNextHighestDepth(), -500, -500, 100, 100);
//设置文本
t_txt.autoSize = true;
t_txt.multiline = false;
t_txt.wordWrap = false;
t_txt.selectable = false;
t_txt.text = dt;
t_txt._visible = false;
//生成图片数据
var txtBmp:flash.display.BitmapData = new flash.display.BitmapData(t_txt._width, t_txt._height, false, 0xffffff);
txtBmp.draw(t_txt);
//创建文字数组
var t_arr:Array = new Array();
var pix:Number;
for (var y = 0; y<t_txt._height; y ) {
for (var x = 0; x<t_txt._width; x ) {
if (txtBmp.getPixel(x, y) != 0xffffff) {
t_arr.push({x:x x*w, y:y y*h});
}
}
}
//删除创建的文字
t_txt.removeTextField();
txtBmp.dispose();
return t_arr;
}
相关Flash教程:
最新评论:
loading.. 评论加载中....
发表评论:不能超过250字节,请自觉遵守互联网相关政策法规.
  • 昵称: 验证:

最新Flash教程