2012-05-21 2 views
0

Мне удалось прочитать обложку альбома из моего mp3-файла (на sdcard), но картинка больше, чем активность. Как я могу уменьшить (сжать) изображение до 150x150 пикселей?Альбом из mp3

+0

вы можете использовать createScaledBitmap растрового изображения(). –

+0

Спасибо, это решение наилучшим образом соответствует моим потребностям. – sekula87

+0

приветствую друга. –

ответ

2

Вы можете использовать "fitXY" масштабировать ImageView:

<ImageView android:layout_width="150dp" 
      android:layout_height="150dp" 
      android:scaleType="fitXY" /> 

Вы можете установить источник ImageView программно.

0

Следующий фрагмент кода будет делать трюк;)

public static Bitmap decodeFile(File f, boolean goodQuality){ 
     try { 
      //Decode image size 
      BitmapFactory.Options o = new BitmapFactory.Options(); 
      o.inJustDecodeBounds = true; 
      BitmapFactory.decodeStream(new FileInputStream(f),null,o); 

      //The new size we want to scale to 
      final int REQUIRED_SIZE=100; 

      //Find the correct scale value. It should be the power of 2. 
      int scale=1; 
      if(!goodQuality){ 
       while(o.outWidth/scale/2>=REQUIRED_SIZE && o.outHeight/scale/2>=REQUIRED_SIZE) 
        scale*=2; 
      } 
      //Decode with inSampleSize 
      BitmapFactory.Options o2 = new BitmapFactory.Options(); 
      o2.inSampleSize=scale; 
      return BitmapFactory.decodeStream(new FileInputStream(f), null, o2); 
     } catch (FileNotFoundException e) {} 
     return null; 
    } 
Смежные вопросы