Как установить размер растрового изображения, чтобы он отображался правильно на SurfaceView - PullRequest
3 голосов
/ 05 ноября 2011

Я использую SurfaceView для рисования растрового изображения.Но проблема в том, что когда я устанавливаю изображение в SurfaceView, оно не будет видеть целое изображение.

Я думаю, что это произошло, потому что размер изображения больше размера экрана устройства.

я хочу установить растровое изображение, которое должно быть установлено с размером устройства / SurfaceView Size.

Если изображение меньше, чем SurfaceView, то оно должно быть в размере изображения и в центре SurfaceView.

1 Ответ

3 голосов
/ 05 ноября 2011
BitmapFactory.Options o = new BitmapFactory.Options();
o.inJustDecodeBounds = true;

FileInputStream fis = new FileInputStream(Filepath);
final int REQUIRED_SIZE=100;//what ever your surface size or require size

int width_tmp=o.outWidth, height_tmp=o.outHeight;
int scale=1;

while(true){
if(width_tmp/2<REQUIRED_SIZE || height_tmp/2<REQUIRED_SIZE)
break;
width_tmp/=2;
height_tmp/=2;
scale*=2;

}

BitmapFactory.Options op = new BitmapFactory.Options();
op.inSampleSize = scale;
bitmap = BitmapFactory.decodeStream(fis, null, op);

use this bitmap.
...