Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
_Night_Scream_
75 / 74 / 8
Регистрация: 08.08.2013
Сообщений: 581
#1

Определить координаты картинки на канве - Программирование Android

04.08.2015, 17:19. Просмотров 190. Ответов 0
Метки нет (Все метки)

Добрый день.
Вот мой код.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
    public class MainActivity extends Activity { 
        /** Called when the activity is first created. */ 
        @Override 
        public void onCreate(Bundle savedInstanceState) { 
            super.onCreate(savedInstanceState); 
            GraphicsView myview = new GraphicsView(this); 
            setContentView(myview); 
        } 
    } 
     
    class GraphicsView extends View { 
        public GraphicsView(Context context) { 
            super(context); 
     
        } 
        float touchX = 0; 
        float touchY = 0; 
     
     
        @Override 
        protected void onDraw(Canvas canvas) { 
                Paint TextPaint = new Paint(); 
                TextPaint.setColor(Color.BLACK); 
                TextPaint = new Paint(Paint.ANTI_ALIAS_FLAG); 
                TextPaint.setTextSize(50); 
                TextPaint.setStyle(Paint.Style.STROKE); 
     
                Bitmap myBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon); 
                 
                canvas.drawBitmap(myBitmap, touchX - (myBitmap.getWidth() / 2), touchY - (myBitmap.getHeight() / 2), null); 
     
                canvas.drawText(touchX + " | " +  touchY, 0, 50, TextPaint); 
            } 
     
     
        public boolean onTouchEvent(MotionEvent event){ 
            /*if(event.getAction() == MotionEvent.ACTION_DOWN){ 
                touchX = event.getX(); 
                touchY = event.getY(); 
                invalidate(); 
            }*/ 
            if(event.getAction() == MotionEvent.ACTION_MOVE){ 
                touchX = event.getX(); 
                touchY = event.getY(); 
                invalidate(); 
            } 
            return true; 
        } 
    }
Добавляется картинка и перемещается туда, куда кликнешь или потащешь по канве.

Мне не понятно как узнать фактическое положение картинки на канве?
Например у меня будет 2 картинки на канве, я хочу потянув за нужную мне картинку она начала перемещение, для этого надо знать куда я тыкнул пальцем (с этим проблем нет) и попал ли я пальцем на картинку, тут мне и необходимо месторасположение картинки.

Еще вопрос на будущее, если одну область перекрывают 2 картинки, и я тащу за эту область, как мне узнать которая сверху и какую тащить?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.08.2015, 17:19     Определить координаты картинки на канве
Посмотрите здесь:
Сохранить картинку на канве Android
координаты мыши на канве заносятся в массив C++ Builder
Как определить координаты курсора мыши, относительно координат картинки, находящейся на форме? Delphi
Как определить реальный размер буквы на канве? C++ Builder
Вести Координаты двух точек на плоскости и определить координаты середины отрывка соединяющих их Free Pascal
Turbo Pascal Пусть даны координаты трех вершин прямоугольника. Определить координаты четвертой вершины
Заданы координаты трех вершин прямоугольника. Необходимо определить координаты четвертой вершины Pascal
Определить координаты точки в окне, зная ее координаты в пространстве OpenGL
Matlab Найти координаты с данной картинки
Узнать координаты увеличенной картинки Delphi
Delphi Заданы координаты острых углов прямоугольного треугольника и длина его катета. Определить координаты третьей вершины, длину всех сторон, площадь и угл
C# Как задать координаты для картинки?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru