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

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

Войти
Регистрация
Восстановить пароль
 
Alexvsalex
7 / 7 / 4
Регистрация: 22.04.2015
Сообщений: 84
#1

SurfaceView + ImageView - Программирование Android

02.09.2015, 19:31. Просмотров 150. Ответов 0
Метки нет (Все метки)

Здравствуйте!
Задача такая: есть какая то картинка, которая берется из ресурсов. Есть SurfaceView на котором ставятся отметки, связанные с картинкой. Но картинка может быть больших размеров, поэтому нужен скроллинг и canvas, с уже поставленными отметками должен передвигаться. Вообще нет никаких мыслей, как это сделать, максимум, что получилось это рисование:
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
50
51
52
53
class ImageViewer extends SurfaceView
{
    private final SurfaceHolder surfaceHolder;
    private Bitmap image = null;
    private Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
 
    float historicX = 0;
    float historicY = 0;
 
    float XAny;
    float YAny;
 
    public ImageViewer(Context context,int img)
    {
        super(context);
        image = BitmapFactory.decodeResource(getResources(), img);
        surfaceHolder = getHolder();
 
        setBackground();
 
        paint.setStrokeWidth(2);
        paint.setColor(Color.RED);
 
        
        setHorizontalScrollBarEnabled(true);
        setVerticalScrollBarEnabled(true);
    }
 
    @Override
    public boolean onTouchEvent(MotionEvent event)
    {
        
        if (event.getAction() == MotionEvent.ACTION_DOWN)
        {
            historicX=event.getX();
            historicY=event.getY();
        } else if (event.getAction() == MotionEvent.ACTION_UP && (historicX-(XAny=event.getX()))<1 && (historicY-(YAny=event.getY()))<1)
        {
            Canvas canvas = surfaceHolder.lockCanvas();
            try {
                
                canvas.drawLine(XAny-10,YAny-10,XAny+10,YAny+10,paint);
                canvas.drawLine(XAny+10,YAny-10,XAny-10,YAny+10,paint);
            }
            finally {
                
                surfaceHolder.unlockCanvasAndPost(canvas);
            }
 
        }
        return true;
    }
}
С помощью каких элементов это делается?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.09.2015, 19:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос SurfaceView + ImageView (Программирование Android):

SurfaceView поверх ImageView - Программирование Android
До этого вместо Surface использовался обычный View и Canvas в нём, но потребовалась анимация. Просто в background картинку засунуть не...

Как ровно наложить imageview на surfaceview - Программирование Android
Не удается подогнать правильно размер эти двух view. Хочу чтобы фотография накладывалась на изображение с камеры, но фотография всегда...

Скопировать картинку из одной ImageView в другую ImageView - Программирование Android
В ImageView поставлена картинка методом setImageResource. По нажатию на неё, нужно такую-же картинку поставить в другую вью, а в первой...

Ошибка в SurfaceView - Программирование Android
есть игра. отрисовка идет через SurfaceView и поток привязанный к нему. ошибка возникает в следующем моменте - я открываю сам игровой...

SurfaceView + onKeyDown - Программирование Android
Проблемка очень простая - не реагирует на onKeyDown в классе, наследующем SurfaceView. Исправьте мою криворукость, пожалуйста, подскажите,...

Работа с SurfaceView - Программирование Android
Отрисовка в SurfaceView никогда не вызывала трудностей, до тех пор, пока не запустил приложение на телефоне с экраном 1920х1080px. Фпс упал...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.09.2015, 19:31
Привет! Вот еще темы с ответами:

Восстановление SurfaceView - Программирование Android
Кто работал с SurfaceView, помогите! Рисую на SurfaceView с помощью onTouchEvent(), без потока, все замечательно рисует, сворачиваю...

SurfaceView не отображается - Программирование Android
Учусь программировать по книге П. Дейтел, Х. Дейтел &quot;Android для программистов. Создаём приложения&quot;. Делаю уже 5 приложение, но это не...

Мерцание в SurfaceView - Программирование Android
Всем привет! Рисую на SurfaceView фон и на нем анимированные объекты. Кадры беру из атласа. Появилось мерцание, причем фон не мерцает а...

SurfaceView - широкий рисунок - Программирование Android
Проблема в ограничениях размеров. Создаю класс: public class D3D extends SurfaceView { public D3D(Context...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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