안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요 .
SurfaceView에 여러가지 이미지들을 그려주고 있습니다.
cv.drawBitmap(note.image, drawX ,drawY , null);
함수를 이용해서 그려주고 있는데요~
이미지들이 빠르게 움직이면서 자연스럽게 돌려주고 싶어서 (센서로 흔들면 이미지들이 막 섞이거든요 , 그 때 효과로 이미지를 자연스럽게 Rotate 시켜볼려구요...)
Matrix를 이용해서 bimap을 꺽어서 그려주니 , 아무래도 빠른 스레드 속에서 계속 bitmap을 생성해줘서 그러는지 ,
그려주는 속도가 엄청 느려집니다.
Matrix m = new Matrix();
m.setRotate( angle, (float)image.getWidth()/2, (float)image.getHeight()/2);
try {
Bitmap imageTemp = Bitmap.createBitmap(image, 0, 0, image.getWidth(), image.getHeight(), m, true );
if (image != imageTemp) {
image.recycle();
image = imageTemp;
}
} catch (OutOfMemoryError ex) {}
drawBitmap 중에 Matrix를 인자로 받는 함수가 있어서 유심히 봤는데 , 그 함수는 또 좌표값을 받지를 않네요..
cv.drawBitmap(bitmap, matrix, paint)
bimap을 Canvas에 굉장히 빈번하게 그려줄때 자연스럽게 Rotate를 바꿀 수 있는 방법이 없을까요??;;
ㅅㄷㄴㅅ




대부분 원하는 각도로 비트맵을 만든후에 저장해 놓고 원하는 각도를 가져다 쓰고 있습니다.
SDK 샘플소스중에 달착륙게임 비슷한것이 있는데 참고해 보세요.