2015-12-29 1 views
0

У меня есть изображение image1. Теперь есть изображение, называемое image2. image1> image2. Я хочу перетащить изображение2 на image1 и сохранить новое изображение с помощью холста. Изображения объединены, но изображение2 не сливается в нужном месте. Любая помощь будет оценена по достоинству. Это мой сращивание кодобъединить два изображения в android. Один взят из картинки другой из доступных ресурсов. Позиция не подходит.

int maxWidth = (bitmap1.getWidth() > resizedbitmap2.getWidth() ? bitmap1.getWidth() : resizedbitmap2.getWidth()); 
     int maxHeight = (bitmap1.getHeight() > resizedbitmap2.getHeight() ? bitmap1.getHeight() : resizedbitmap2.getHeight()); 
     Bitmap bmOverlay = Bitmap.createBitmap(maxWidth, maxHeight, Bitmap.Config.ARGB_8888); 
     Canvas canvas = new Canvas(bmOverlay); 
     canvas.drawBitmap(bitmap1, 0f, 0f, null); 
     canvas.drawBitmap(resizedbitmap2, x, y, null); 

Это, как я перетащить IMAGE2

public boolean onTouch(View arg0, MotionEvent arg1) { 
    switch (arg1.getAction()) 
    { 
     case MotionEvent.ACTION_DOWN: 

      // attemptClaimDrag(); 

      moving=true; 
      break; 
     case MotionEvent.ACTION_MOVE: 
      if(moving){ 
       x=arg1.getRawX()-ima2.getWidth()/2; 
       y=arg1.getRawY()-ima2.getHeight()*3/2; 
       ima2.setX(x); 
       ima2.setY(y); 
      } 
      break; 
     case MotionEvent.ACTION_UP: 
      moving=false; 
      break; 

    } 

    return true; 
} 

Определив эти два

float x,y=0.0f 

ответ

0

Попробуйте это:

Во-первых, перекрывают два изображения с помощью RelativeLayout. Отобразите его правильно.

Во-вторых, конвертировать это RelativeLayout в Bitmap.

В layout.xml

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/layout"> 
    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/image1"/> 

    <!-- Change the position of the image. Now, its in center --> 
    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/image2" 
     android:layout_centerInParent="true" 
     /> 
</RelativeLayout> 

В activity.java,

// Set enable drawing cache first. 
layout.setDrawingCacheEnabled(true); 


// Get Bitmap from RelativeLayout 
Bitmap bitmap = layout.getDrawingCache(); 
+0

Таким образом, Вы хотите сказать, я должен держать ImageView в image1 внутри относительного расположения? –

+0

Я не хочу жестко кодировать его так. Пользователь будет перетаскивать изображение2 на изображение1 в любом месте, где захочет. Но когда слияние изображения сохраняется. Я хочу, чтобы он показывался там, где он точно упал. –

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