2009-05-01 22 views
11

मैं टेक्स्ट को एक संपूर्ण पाठ घटक भरने के लिए स्वचालित रूप से अपने फ़ॉन्ट का आकार देने की कोशिश कर रहा हूं।टेक्स्ट बॉक्स ऊंचाई/चौड़ाई फिट करने के लिए फ़ॉन्ट आकार का स्वतः आकार कैसे बदलें?

मेरा वर्तमान दृष्टिकोण फ़ॉन्ट वर्णों की संख्या और पाठ घटकों की ऊंचाई और चौड़ाई के कार्य के रूप में फ़ॉन्ट आकार सेट करना है, लेकिन मुझे यह काम अच्छी तरह से करने के लिए सही गुणांक नहीं मिल रहे हैं।

क्या कोई आसान या अधिक सुरुचिपूर्ण तरीका है?

क्या पाठ पर काम करने के लिए truncate करता है? मैंने कहीं पढ़ा है कि यह अच्छी तरह से काम नहीं करता है।

संपादित करें: मैं यह उल्लेख करना भूल गया कि मैं इसे अधिकतम फ़ॉन्ट आकार से परे स्केल करना चाहता हूं (जो 127 मुझे विश्वास है)। यह कैसे किया जाता है? scaleX?

उत्तर

21

एएस 3 नमूना समारोह। आपको किसी भी समय अपनी टेक्स्टफिल्ड की सामग्री में बदलाव करना चाहिए

function Autosize(txt:TextField):void 
{ 
    //You set this according to your TextField's dimensions 
    var maxTextWidth:int = 145; 
    var maxTextHeight:int = 30; 

    var f:TextFormat = txt.getTextFormat(); 

    //decrease font size until the text fits 
    while (txt.textWidth > maxTextWidth || txt.textHeight > maxTextHeight) { 
    f.size = int(f.size) - 1; 
    txt.setTextFormat(f); 
    } 

} 
+0

मैंने टिप के लिए धन्यवाद दिया। क्या आप जानते हैं कि 145 से आगे कैसे स्केल करें? – Brandon

+0

मेरा मतलब अधिकतम फ़ॉन्ट आकार था। – Brandon

+0

क्षमा करें, मुझे 145 –

संबंधित मुद्दे