2016-11-11 10 views
0

Я использую Camera2 API для захвата несколько изображений одного и после этого я сохранить изображение и создавая панорамные изображенияобъединить несколько изображений в одно в горизонтальном андроиде

private Bitmap combineImageIntoOne(ArrayList<Bitmap> bitmap) { 
     int w = 0, h = 0; 
     for (int i = 0; i < bitmap.size(); i++) { 
      if(i < bitmap.size() - 1){ 
       h = bitmap.get(i).getHeight() > bitmap.get(i + 1).getHeight() ? bitmap.get(i).getHeight() : bitmap.get(i + 1).getHeight(); 
      } 
      w += bitmap.get(i).getWidth(); 
     } 

     Bitmap temp = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888); 
     Canvas canvas = new Canvas(temp); 
     float aspectRatio = 0; 
     int side = 0; 
     int width = 0; 
     for (int i = 0; i < bitmap.size(); i++) { 
      Log.d("HTML", "Combine: "+i+"/"+bitmap.size()+1); 
      side = (i == 0 ? 0 : side+bitmap.get(i).getWidth()); 
      canvas.drawBitmap(bitmap.get(i), 0f, side, null); 
     } 
     return temp; 
    } 

масштабирования вниз становится все труднее ли какой-либо один есть идея, как я могу рассматривать горизонтальное слияние изображений с 20 элементами? Какой код вы использовали для решения этой проблемы?

+0

У кого-нибудь есть опыт? –

ответ

0
private Bitmap mergeMultiple(ArrayList<Bitmap> parts) { 

     int w = 0, h = 0; 
     for (int i = 0; i < parts.size(); i++) { 
      if (i < parts.size() - 1) { 
       w = parts.get(i).getWidth() > parts.get(i + 1).getWidth() ? parts.get(i).getWidth() : parts.get(i + 1).getWidth(); 
      } 
      h += parts.get(i).getHeight(); 
     } 

     Bitmap temp = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888); 
     Canvas canvas = new Canvas(temp); 
     Paint paint = new Paint(); 
     paint.setColor(Color.WHITE); 
     int top = 0; 
     for (int i = 0; i < parts.size(); i++) { 

      top = (i == 0 ? 0 : top + parts.get(i).getHeight() + 100); 
      canvas.drawBitmap(parts.get(i), 0f, top,paint); 
     } 
     return temp; 

    } 

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

  • Нет связанных вопросов^_^