안드로이드가 비트 맵을 ImageView로로드하는 방식에서 완전히 이상한 동작이 발생했습니다. 예를 들어 urimg_01.jpg라는 500x313 이미지 파일이 있습니다. 이 코드를 사용하면 :기괴한 ImageView 비트 맵 처리
img.setImageResource(R.drawable.urimg_01);
Bitmap bitmap = ((BitmapDrawable) img.getDrawable()).getBitmap();
Log.v(TAG,"---------------------> bitmap width = "+bitmap.getWidth());
Log.v(TAG,"---------------------> bitmap height = "+bitmap.getHeight());
ImageView 비트 맵은 750x470입니다. (I은 480X800 디스플레이와 넥서스 S가있다.) getFilesDir()에있는 동일 파일의 카피를 판독하고 코드와
:
Log.v(TAG,"image file is "+filelist[0].getAbsolutePath());
FileInputStream fis = new FileInputStream(filelist[0]);
FileDescriptor fd = fis.getFD();
Bitmap bitmap = BitmapFactory.decodeFileDescriptor(fd);
if (bitmap != null) {
Log.v(TAG,"---------------------> bitmap width = "+bitmap.getWidth());
Log.v(TAG,"---------------------> bitmap height = "+bitmap.getHeight());
img.setImageBitmap(bitmap);
fis.close();
}
이미지 뷰 비트 맵은 500x313, 예상대로.
setImageResource()의 경우 악마가 750x470을 얻는 곳이 어디입니까 ?? 그리고 드로어 블 (drawable) 리소스의 올바른 크기를 사용하려면 어떻게해야합니까?