2017-02-11 1 views
1

У меня есть метод, чтобы изменить размер изображения, и я хочу, чтобы получить параметр из массива, но он продолжает показывать ошибки говоряткак получить метод параметров из массива

incompatible types 
found int 
required android.graphics.drawable.Drawable 

это мой метод

public Drawable ResizeImage (int imgResize){ 
     Display imgPost = getWindowManager().getDefaultDisplay(); 
     double dvcWidth = imgPost.getWidth(); 

     BitmapDrawable imgBD = (BitmapDrawable)this.getResources().getDrawable(imgResize); 
     double imgHeight = imgBD.getBitmap().getHeight(); 
     double imgWidth = imgBD.getBitmap().getWidth(); 

     double imgRatio = dvcWidth/imgWidth; 
     int newImgHeight = (int) (imgHeight*imgRatio); 

     Bitmap imgBmap = BitmapFactory.decodeResource(getResources(),imgResize); 
     Drawable imgDrawable = new BitmapDrawable(this.getResources(),getResizedBitmap(imgBmap,newImgHeight,(int) dvcWidth)); 

     return imgDrawable; 
    } 

мой массив

int[] imgDvc= new int[]{ 
      ResizeImage(R.drawable.pc), 
      R.drawable.ps4, 
      R.drawable.xbone 
} 

и Звоню массив через здесь

List<HashMap<String,String>> aList = new ArrayList<HashMap<String,String>>(); 
     for(int i=0;i<10;i++){ 
     HashMap<String, String> hm = new HashMap<String,String>(); 
     hm.put("Dvc", Integer.toString(imgDvc[i])); 
     aList.add(hm); 
    } 
String[] game= {"Dvc"}; 

Я использую его для заполнения списка, спасибо за ответ (ы).

+0

В какой строке в коде ошибка в виду? –

+0

@MehmetKologlu это линия ResizeImage (R.drawable.pc). – sh4man

+1

О, я вижу это сейчас. Вы объявили массив int, но вы пытаетесь вставить в него «Drawable». Вы не можете это сделать. –

ответ

0

Если вы только собираетесь поставить 3 изображения просто использовать 3 вида изображения и масштаба один, чтобы изменить размер

+0

Я не могу сделать это из изображения, изображения имеют около 800x600, это замедлит работу устройства. Я хочу изменить его через java. – sh4man

+0

Загрузка растрового изображения в память не является быстрым подходом. (и это именно то, что делает decodeBitmap). Я очень уверен, что просто использование атрибута XML scaleX и scaleY изображения будет быстрее. –

+0

Также 800x600 не является даже большим изображением. –

Смежные вопросы