안드로이드 개발 질문/답변
(글 수 45,052)
// 초기설정
Bitmap bt = Bitmap.createBitmap(320, 480, Bitmap.Config.ARGB_8888);
canvas2 = new Canvas();
canvas2.setBitmap(bt);
synchronized(holder) {
canvas2 = holder.lockCanvas();
// 여기서 모든 이미지들을 canvas2에 그립니다.
drawGame(canvas2);
// 마지막으로 bt에 그려진 이미지들을 확대해서 다시그리기를 합니다.
mRect.set(0,0,320,480);
mRect2.set(0,0,480,800);
canvas2.drawBitmap(bt, mRect, mRect2, null);
holder.unlockCanvasAndPost(canvas2);
}
제가 지금 surfaceView에 이미지들을 그리고 있는데
각 화면사이즈에 맞게 surfaceView에 그려진 이미지들을 확대하고 싶습니다.
일반 View에서는 위와같은 방법으로 가능하지만 surfaceView에서는 안되더군요..
surfaceView에 그려진 이미지들을 최종적으로 확대하는 방법이나 저절로 확대가 되게끔 하는 옵션이
있는지 궁금합니다.
2010.11.18 16:45:43
Display display = ((WindowManager)context.getSystemService(context.WINDOW_SERVICE)).getDefaultDisplay();
Width = display.getWidth();
Height = display.getHeight();
제가 쓰는 방법은 이렇게 입력하시면 Width에 가로의 전체 길이와 Height에 세로의 전체 길이가 나오는데요,
변수= BitmapFactory.decodeResource(res, R.drawable.이미지이름);
변수 = Bitmap.createScaledBitmap(변수, Width, Height, true);
위와 같은 식으로 쓰시면 createScale에서 이미지의 크기를 자동으로 사이즈 만큼 늘려서 다시 변수에 저장해줍니다~
제가 사용하는 방법인데 질문과 맞나 모르겠네요~



