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

Canvas에 이미지 불러올때 이미지 비율에 맞추고 싶어요

0 추천
이미지가 보여질 캔버스의 가로크기릉 정해두고

갤러리에서 불러오는 이미지들이 캔버스의 가로 크기를 기준으로 이미지의 가로 세로 비율을 유지하도록 하고싶습니다.

 

지금 제가 생각한것은  다음과 같습니다.

1. 디스플레이 가로 세로 크기를 구한다.

Display display = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
  mWidth = display.getWidth();
  mHeight = display.getHeight();

2. 구한 디스플레이 가로를 이용하여 다음과 같이 bitmap이미지를 가로 크기를 정합니다.

mBitmap = Bitmap.createScaledBitmap(mBitmap, (int)mWidth * 8/10, (int)mHeight * 42/50, false);

 

3. 캔버스에 이미지를 넣습니다

canvas.drawBitmap(mBitmap, (mWidth * 1/5)/2, 0, null);

 

이 과정중에 어떤작업을 해주어야 하나요 ?
익명사용자 님이 2014년 3월 19일 질문

2개의 답변

0 추천
아래 링크가 혹시 도움이 될지 모르겠네요.

 

http://developer.android.com/training/displaying-bitmaps/load-bitmap.html
방귀과장 (18,940 포인트) 님이 2014년 3월 20일 답변
0 추천
이미 2번에서 원본 이미지의 비율을 살리지 못하고 있는거같네요.

Canvas의 가로세로 사이즈에 비율에 맞춰서 계산후 사이즈를 조절하거나

Matrix를 사용하셔도 될듯.

http://developer.android.com/reference/android/graphics/Bitmap.html#createBitmap(android.graphics.Bitmap, int, int, int, int, android.graphics.Matrix, boolean)
q1212 (26,020 포인트) 님이 2014년 3월 20일 답변
...