마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Paint객체의 함수 중 getTextBounds 사용방법 질문입니다..

0 추천

안녕하세요. M_ON입니다.

6월임에도 불구하고 땡볓에 힘드실텐데 제 글을 읽어주셔서 감사드립니다. ^^

 

Canvas에 drawText 함수를 이용하여 글씨를 그리던 도중에 글씨의 가로,세로 사이즈를 알고 싶어서,
찾다보니 getTextBounds()라는 함수가 있더라구요?

Rect객체를 포인터형태로 넘겨줘서 getTextBounds()함수 안에서 String의 길이를 측정 후에 작성해주더라구요.

 

Rect bounds = new Rect();
Paint paint = new Paint();
paint.reset();
paint.setTextSize(15);
paint.getTextBounds("뷁", 0, 1, bounds);
 
Log.d("TTTT","bound height:"+bounds.height());
 
 
위와 같은 코드를 함수로 만들어서 계속해서 호출 할 경우
처음에만 제대로된 값이 출력되다가 나중에는 height() 값이 273의 이상인 값들이 나오더라구요;;
 
getTextBounds()함수는 입력된 글자가 가지는 pixel수를 반환해주는 함수로 알고 있는데.. 
TextSize가 15인데도.. pixel값이 270이 넘을리가 없다고 생각되어져서 이렇게 질문을 올려봅니다.
 
 
제가 지금 갤럭시S3로 테스트 하고 있어서 갤3의 버그인가? 해서
다른 휴대폰들에도 삽입해 봤지만;; 똑같은 결과가 나오더라구요.
 
 
올바른 사용법을 아시거나 조건이 있어야 발생하는건 아닌지 여쭙고 싶습니다.
 
 
 
mOn (570 포인트) 님이 2014년 6월 2일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...