2016-02-25 4 views
1

В этом случае я столкнулся с большой проблемой. У меня есть изображение (зеленый значок), добавленный на фоне изображения. Позиция Зеленый значка устанавливается динамически (Рис 1)Как установить точное положение другого вида при масштабировании или перетаскивании (влево, вправо, вверх, вниз)?

enter image description here

Это изображение можно увеличить, уменьшить масштаб, перетащите влево, вправо, вверх, вниз. Я хочу, чтобы переместить точно изображение зрения (зеленый значок) при масштабировании или перетащить фон изображения.

Как я могу сопоставить позицию изображения (зеленая иконка) с фоном изображения при масштабировании, перетащить фоновый рисунок?

Рисунок 2: Изображение фона увеличено, но зеленый значок не отображается на фоне изображения, это неправильное положение.

enter image description here

Можете ли вы предложить мне какое-нибудь решение, направление или сценарии. Спасибо всем!

ответ

1

использовать следующую функцию, которая будет перекрывать растровое изображение с отметкой растрового изображения и вернуть новое растровое изображение, которое можно использовать для отображения

private Bitmap overlay(Bitmap bmp1, Bitmap bmp2, float left, float top) { 
     Bitmap bmOverlay = Bitmap.createBitmap(bmp1.getWidth(), bmp1.getHeight(), bmp1.getConfig()); 
     Canvas canvas = new Canvas(bmOverlay); 
     canvas.drawBitmap(bmp1, new Matrix(), null); 
     canvas.drawBitmap(bmp2, left, top, null); 
     return bmOverlay; 
    } 

например: -

 Bitmap border = null; 
     Bitmap scaledBorder = null; 
     border = BitmapFactory.decodeResource(getResources(), R.drawable.palette); 
     scaledBorder = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher); 
     ImageView im = (ImageView) findViewById(R.id.imageView); 
     im.setImageBitmap(overlay(border, scaledBorder, 0, 0));// replace both 0,0 point with your mark point 
+0

Спасибо за ваш ответ. Я получил этот код. Он работает нормально. Но проблема заключается в том, что я увеличиваю масштаб растрового изображения, зеленый значок также увеличивается. Я не хочу увеличивать изображение изображения. Итак, мне нужно разделить 2 изображения, а не использовать фотографию –

+0

yup, это проблема, которую я пропустил. –

+0

Здравствуйте, я тоже нахожу похожий вопрос http://stackoverflow.com/questions/43625989/add-object-to-image -view-how-to-keep-object-location-when-zoom-image У вас есть решение? – kemdo

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

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