ActionScript 3 AS3 - 修剪特定宽度和高度的文本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ActionScript 3 AS3 - 修剪特定宽度和高度的文本相关的知识,希望对你有一定的参考价值。
package com.streameye.utils {
import flash.text.TextField;
public class TrimTextUtil {
public function TrimTextUtil() {
}
public static function trimTfForHeight(_tf:TextField, _height:Number = 0 ):void{
_tf.multiline = true;
_tf.wordWrap = true;
_tf.condenseWhite = true;
var heightNeeded:Number = _height != 0 ? _height : _tf.height;
if(_tf.textHeight > heightNeeded){
var safeLinesNum:int = 0;
var preciseFixer:int = 0;
var safeTrim:Number = 0;
for(var i:Number = 0; i< _tf.numLines-1; i++){
if(_tf.getLineMetrics(i).height*i + _tf.getLineMetrics(i).ascent < heightNeeded - preciseFixer){
safeTrim += _tf.getLineLength(i);
safeLinesNum++;
}
}
var suffix:String = " ...";
_tf.text = truncate(_tf.text, safeTrim, suffix);
}
}
public static function truncate(p_string:String, p_len:uint, p_suffix:String = "..."):String {
if (p_string == null) {
return '';
}
p_len -= p_suffix.length;
var trunc:String = p_string;
if (trunc.length > p_len) {
trunc = trunc.substr(0,p_len);
if (/[^\s]/.test(p_string.charAt(p_len))) {
trunc = (trunc.replace(/\w+$|\s+$/,'')).replace(/\s+$/, '');
}
trunc += p_suffix;
}
return trunc;
}
public static function stripTags(s_text:String):String{
return s_text.replace(/<.*?>/g, "")
}
//// ARRAYS
public static function chunks(array:Array, chunk_size:uint):Array {
var chunks:Array = new Array();
for (var i:int = 0; i < (array.length / chunk_size); i++) {
chunks.push(array.slice(i * chunk_size, (i + 1) * chunk_size));
}
return chunks;
}
}//end
}
以上是关于ActionScript 3 AS3 - 修剪特定宽度和高度的文本的主要内容,如果未能解决你的问题,请参考以下文章
ActionScript 3 AS3修剪逗号分隔字符串(例如,用户输入的逗号分隔关键字列表)
使用 actionscript 3 修剪字符串
ActionScript 3 AS3 SWFtrospection(as3swf)
ActionScript 3 AS3 TextField和StyleSheet示例(在ActionScript中创建)
[ActionScript 3.0] AS3.0 水面波纹效果
ActionScript 3 AS3:使用SWFObject2和AS3传递变量