documentation flash textformat gettextextent

Vous êtes ici: Les articles techniques » Documentations » Eléments du langage ActionScript » TextFormat » getTextExtent (méthode TextFormat.getTextExtent)

getTextExtent (méthode TextFormat.getTextExtent)

 
public getTextExtent(text:String, [width:Number]) : Object

Déconseillé à partir de Flash Player 8. Il n’existe pas de remplacement.

Renvoie les informations de mesure de texte pour la chaîne de texte text dans le format spécifié par my_fmt. La chaîne de texte est traitée comme du texte brut (non HTML).

La méthode renvoie un objet avec six propriétés : ascent, descent, width, height, textFieldHeight et textFieldWidth. Toutes les mesures sont en pixels.

Si un paramètre width (largeur) est spécifié, un retour à la ligne automatique est appliqué au texte spécifié. Ceci vous permet de déterminer la hauteur à laquelle un champ affiche l’ensemble du texte spécifié.

Les mesures ascent et descent indiquent, respectivement, la distance au-dessus et en dessous de la ligne de base pour une ligne de texte. La ligne de base pour la première ligne de texte est positionnée au début du champ de texte plus sa mesure ascent.

Les mesures width et height indiquent la largeur et la hauteur de la chaîne de texte. Les mesures textFieldHeight et textFieldWidth indiquent la hauteur et la largeur requises pour un objet de champ de texte pour afficher l’ensemble de la chaîne de texte. Les champs de texte ont une marge de reliure de 2 pixels autour d’eux, de sorte que la valeur de textFieldHeight est égale à la valeur de height + 4; de même, la valeur de textFieldWidth est toujours égale à la valeur de width + 4.

Si vous créez un champ de texte basé sur les propriétés de texte, utilisez textFieldHeight plutôt que height et textFieldWidth plutôt que width.

La figure suivante illustre ces mesures.

<img src=”images/text-metrics.jpg” alt=”” border=”0”>

Lorsque vous configurez un objet TextFormat, définissez exactement tous les attributs tels qu’ils seront définis pour la création du champ de texte, y compris le nom de police, la taille de police et l’interligne. La valeur par défaut pour l’interligne est 2.

Disponibilité : ActionScript 1.0 ; Flash Player 6

Paramètres

text:String - Chaîne.

width:Number [facultatif] - Nombre indiquant la largeur, en pixels, à laquelle le texte spécifié doit effectuer un retour à la ligne automatique.

Valeur renvoyée

Object - Objet avec les propriétés width, height, ascent, descent, textFieldHeight, textFieldWidth.

Exemple

Cet exemple crée un champ texte d’une seule ligne de taille tout juste suffisante pour afficher une chaîne de texte avec la mise en format spécifiée.

var my_str:String = "Small string";
 
// Create a TextFormat object,
// and apply its properties.
var my_fmt:TextFormat = new TextFormat();
with (my_fmt) {
     font = "Arial";
     bold = true;
}
 
// Obtain metrics information for the text string
// with the specified formatting.
var metrics:Object = my_fmt.getTextExtent(my_str);
 
// Create a text field just large enough to display the text.
this.createTextField("my_txt", this.getNextHighestDepth(), 100, 100, metrics.textFieldWidth, 
metrics.textFieldHeight);
my_txt.border = true;
my_txt.wordWrap = true;
// Assign the same text string and TextFormat object to the my_txt object.
my_txt.text = my_str;
my_txt.setTextFormat(my_fmt);

L’exemple suivant crée un champ texte multiligne d’une largeur de 100 pixels et d’une hauteur suffisante pour afficher une chaîne avec la mise en format spécifiée.

// Create a TextFormat object.
var my_fmt:TextFormat = new TextFormat();
// Specify formatting properties for the TextFormat object:
my_fmt.font = "Arial";
my_fmt.bold = true;
my_fmt.leading = 4;
 
// The string of text to be displayed
var textToDisplay:String = "Macromedia Flash Player 7, now with improved text metrics.";
 
// Obtain text measurement information for the string,
// wrapped at 100 pixels.
var metrics:Object = my_fmt.getTextExtent(textToDisplay, 100);
 
// Create a new TextField object using the metric
// information just obtained.
this.createTextField("my_txt", this.getNextHighestDepth(), 50, 50-metrics.ascent, 100, 
metrics.textFieldHeight);
my_txt.wordWrap = true;
my_txt.border = true;
// Assign the text and the TextFormat object to the TextObject:
my_txt.text = textToDisplay;
my_txt.setTextFormat(my_fmt);


Le wiki a besoin de votre aide pour classer les pages.
Lorsque vous visitez une page, éditez la en rajoutant des tags ( catégories ) si la page n'en a pas, à l'aide la syntaxe suivante : {{tag>motClef1 motClef2 motClef3}}



veille