2014-03-26 3 views
0

그래서 이것은 드로잉 할 수 있도록 SD 카드에서 캔버스로 이미지를로드하는 코드입니다. 그러나 대부분의 경우 이미지가 늘어나고 왜곡되어 보입니다. 캔버스에 비례하도록 이미지의 크기를 조절하는 코드를 원합니다. 도와주세요. 고맙습니다.캔버스에로드하기 전에 이미지 크기 조절

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
if (resultCode == RESULT_OK) { 
if (requestCode == 1) { 
Uri currImageURI = data.getData(); 
String s= getRealPathFromURI(currImageURI); 
File file = new File(s); 

if (file.exists()) { 
Drawable d = Drawable.createFromPath(file.getAbsolutePath()); 
drawView.setBackground(d); 
} 
else 
{ 
    // Toast the user 
} 

} 
} 
} 
+0

나열된 scaleTypes 중 하나를 사용 . canvas.drawBitmap 메소드를 사용하십시오. developer.android.com/reference/android/graphics/Canvas.html –

답변

0

당신은 Canvas를 사용하지 않는, 나는 당신이 당신의 이미지를 표시하는 ImageView를 사용하고 있는지 보라.

대신 setBackground()를 사용하여, 당신은 여전히 ​​당신의 이미지에 distorion을 받고있는 경우, setImageDrawable()

를 사용 setScaleType()를 사용하고 여기에 http://developer.android.com/reference/android/widget/ImageView.ScaleType.html 캔버스에 이미지를 그릴 수있는 방법이 아니다

관련 문제