Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Alexvsalex
7 / 7 / 4
Регистрация: 22.04.2015
Сообщений: 84
#1

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

02.09.2015, 19:31. Просмотров 185. Ответов 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
До этого вместо Surface использовался обычный View и Canvas в нём, но...

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

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

Работа с SurfaceView
Отрисовка в SurfaceView никогда не вызывала трудностей, до тех пор, пока не...

Восстановление SurfaceView
Кто работал с SurfaceView, помогите! Рисую на SurfaceView с помощью...

Мерцание в SurfaceView
Всем привет! Рисую на SurfaceView фон и на нем анимированные объекты. Кадры...

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

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

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

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

SurfaceView сворачивание программы
@Override protected void onDraw(Canvas canvas){ //рисует игровое поле ...


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

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

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