2014-08-27 4 views

답변

0
public static int getBitmapByteSize(Bitmap bitmap) { 
    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { 
     return bitmap.getAllocationByteCount(); 
    } 
    else if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR1) { 
     return bitmap.getByteCount(); 
    } 
    else { 
     return bitmap.getRowBytes() * bitmap.getHeight(); 
    } 
} 

ImageView에서 비트 맵을 가져 오려면 ((BitmapDrawable)image.getDrawable()).getBitmap()을 호출하십시오.

+0

감사합니다. 이전에 코드를 보았습니다. 그러나 현재로서는 비트 맵이 할당되지 않았습니다. 높이, 너비 및 MIME 형식을 얻으려면 inJustDecodeBounds 사용하고 있습니다. 그래서 위의 메서드를 사용할 수 없습니다. – inquisitive

+0

여전히 문제를 해결하지 못하면 솔루션을 찾은 것 같습니다. 이미지의 크기는 너비, 높이 및 픽셀 당 바이트의 곱입니다. 너비와 높이가 이미 있으므로, 마임 유형을 픽셀 당 바이트로 변환해야합니다. 이 코드를 보자. [ImageInfo] (http://www.java2s.com/Code/Java/2D-Graphics-GUI/Getfileformat imageresolution numberofbitsperpixelJPEGGIFBMPPCXPNGIFFRASPBMPGMPPMPSD andSWFfiles.htm)'ImageInfo'의'getBitsPerPixel()'메소드를 사용하면 부족한 정보를 확인할 수있다. 당신에게 이미지의 크기를 줄 제품을 계산하십시오. –

+0

고마워요 .. 이건 정말 도움이됩니다. 그러나 실제로 원하는대로 작업을 수행하기 위해 try catch 블록을 구현했습니다. – inquisitive

관련 문제