텍스트 돌려보아요..

from flex 2008/11/26 23:01
뭐 같지만..
같잖은 녀석을 하나 만들다가 텍스트 필드를 화면에서 스케일, 각도를 조절해야 했다..

그런데..!
지돌스타님이 한참전에 이미 개인블로그에 글을 올리셨는데.. (http://blog.jidolstar.com/189)
텍스트 필드가 각도를 돌릴 경우 화면에서 폰트가 보이지 않는다..

그래서 두가지 방법이 있는데..
클래스에 폰트를 임베드해서 하는 방법과 텍스트 필드 자체를 비트맵으로 만드는 방법..
이 방법도 지돌스타님이 제안한 방법인데.. 이를 약간 내 상황에 맞게 바꾸어 보았다..

소개내용은 텍스트필드를 비트맵으로 만들어 돌리는 방법이다..
단, 문제는 이미지로 보여주다보니.. 글이 깨져 보일 수 있다..

.................................................................................................................
var mc:MovieClip = new MovieClip();

var tf:TextFiled = new TextFiled();

var bd:BitmapData = new BitmapData(tf.width, tf.height, true);
bd.draw(tf);

var bmp:Bitmap = new Bitmap(bd);
bmp.smoothing = true;
mc.addChild(bmp);
.................................................................................................................

이렇게 한다.. smoothing 가 true / false 의 차이가 있는데..
false 일 경우엔 이미지 자체가 계단져서 보이게 된다.. 이는 상황에 따라서 잡아주도록 하고..

내가 만든건 플렉스에서 텍스트 필드에서 글을 작성하여 텍스트 값이 change 이벤트가 발생할때
위의 로직으로 이미지가 생성하여 만들어지게 했다..
그다지 어려운게 아니라서..

폰트가 사라지는 현상은 한글만이 아닌 영어에도 마찬가지이다.
그래서 이녀석을 컨트롤 하려다보니 이렇게 만들게 된건데..
뭐 그냥 재미는 있네 ㅎㅎ
2008/11/26 23:01 2008/11/26 23:01

Trackback Address :: http://jinhokim.com/trackback/58

댓글을 달아 주세요

  1. 지돌스타 2008/11/27 02:33  address  modify / delete  reply

    정말 오래전에 Flex공부하면서 썼던 글이네요.
    이걸 보니 컴포넌트 회전시 글자가 없어지는 문제로 고민했던 적이 생각이 납니다.
    다시한번 상기 시켜주셔서 감사~ ^^

  2. 우야꼬 2008/12/25 19:55  address  modify / delete  reply

    조심해야될게 텍스트를 비트맵으로 찍으면 (2, 2)포인트 만큼 밀리더군요.
    저는 유틸로 가지고 있는데 중간에 이런부분을 넣었죠.
    if( target is TextField )
    {
    var mat: Matrix = new Matrix();
    mat.translate( 2, 2 );
    }
    ...
    ...
    draw( target, mat );

    이렇게요~
    요고 은근히 짜증나요 ㅋㅋ

    • 찌노 2008/12/26 11:04  address  modify / delete

      아.. 그런 부분이......;
      세세하게 못보던 부분이네요..
      ㅎㅎ 감사감사!!