안녕하세요. 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의 버그인가? 해서
다른 휴대폰들에도 삽입해 봤지만;; 똑같은 결과가 나오더라구요.
올바른 사용법을 아시거나 조건이 있어야 발생하는건 아닌지 여쭙고 싶습니다.