プロが教える店舗&オフィスのセキュリティ対策術

下記の外部ASで試しているのですが比率を維持して拡大されます。
予想では横は100%で縦に300%伸びて表示されるはずなのですがなぜ比率が
維持されるのでしょうか?

また、縦だけとこ横だけ拡大や縮小するにはどう書けばいいのでしょうか?

package
{
import flash.display.*;
import flash.events.*;
import flash.text.*;

public class Main extends MovieClip
{
private var mc:MovieClip;
private var text:TextField;

public function Main():void
{
mc = new MovieClip();
addChild(mc);

text = new TextField();
text.text = "テスト";
text.scaleX = 1;
text.scaleY = 3;
mc.addChild(text);
}
}
}

A 回答 (2件)

当方の試験環境はAdobe Flash Builder 4.6(所謂Flex)ですが、


下記のコードで文字が大きく横に伸びるようになりました。

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" applicationComplete="onCompleteHandler(event)">
 <fx:Script>
  <![CDATA[
   import mx.core.UIComponent;
   import mx.events.FlexEvent;
   
   [Embed(systemFont="Segoe UI", embedAsCFF="false", fontName="Segoe UI", mimeType="application/x-font")]
   private var _font:Class;
   
   protected function onCompleteHandler(event:FlexEvent):void
   {
    var format:TextFormat = new TextFormat();
    format.font = "Segoe UI";
    format.color = 0xCCCCCC;
    format.size = 24;
    var field:TextField = new TextField();
    field.autoSize = TextFieldAutoSize.LEFT;
    field.embedFonts = true;
    field.defaultTextFormat = format;
    field.text = "Hello, world!";
    field.scaleX = 3;
    field.scaleY = 0.8;
    var canvas:UIComponent = new UIComponent();
    canvas.addChild(field);
    addElement(canvas);
   }
  ]]>
 </fx:Script>
</s:Application>
    • good
    • 0

まず前提として、デバイスフォントの縦横比変更には対応していません。


文字の縦横比を操作する場合、埋め込みフォントを使用します。

Embedメタデータでフォントを埋め込み、TextFormatクラスで埋め込んだ
フォントを指定した情報を作成、それをTextField.setTextFormat()で
食わせてやることで、埋め込みフォントが使用できるようになります。

この回答への補足

お返事ありがとうございます。
どのような流れになるのか具体的なソースを教えて
いただけませんでしょうか?

補足日時:2012/03/05 10:45
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!