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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 5.00
ASDFD12
33 / 33 / 5
Регистрация: 15.09.2012
Сообщений: 425
#1

Как в обьекте canvas определить цвет пикселя с заданными координатами - Программирование Android

28.01.2014, 14:48. Просмотров 2761. Ответов 16
Метки нет (Все метки)

как в обьекте canvas определить цвет пикселя с заданными координатами? Или может существует обьект экран и через него можно определить цвет.

Добавлено через 1 час 30 минут
Цитата Сообщение от ASDFD12 Посмотреть сообщение
как в обьекте canvas определить цвет пикселя с заданными координатами? Или может существует обьект экран и через него можно определить цвет.
Пытался для обьекта наследующего SurfaceView вызывать this.getDrawingCache(true).getPixel(312,300); - выкинуло ошибку - получается Cache отсутствует
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.01.2014, 14:48     Как в обьекте canvas определить цвет пикселя с заданными координатами
Посмотрите здесь:
Android Программно узнать цвет пикселя
OnTouch узнать цвет пикселя Android
Android Изменить цвет пикселя на изображении
Цвет пикселя экрана android-устройства Android
Android Получить цвет пикселя на экране по координатам на delphi
Android Как изменить цвет пункта ListView при нажатии на него и сохранять его цвет при проматывании списка?
Android Как очистить canvas?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kirawa
33 / 33 / 1
Регистрация: 12.11.2013
Сообщений: 336
28.01.2014, 16:16     Как в обьекте canvas определить цвет пикселя с заданными координатами #2
http://developer.alexanderklimov.ru/...implepaint.php
ASDFD12
33 / 33 / 5
Регистрация: 15.09.2012
Сообщений: 425
28.01.2014, 16:27  [ТС]     Как в обьекте canvas определить цвет пикселя с заданными координатами #3
Статейка полезная, но ответа на мой вопрос там нет. Именно через canvas я и рисую в своей игре, но как узнать цвет пикселя на экране, или с самого экрана или с canvas?
kirawa
33 / 33 / 1
Регистрация: 12.11.2013
Сообщений: 336
28.01.2014, 16:34     Как в обьекте canvas определить цвет пикселя с заданными координатами #4
http://lmgtfy.com/?q=canvas+get+pixel+color+android
ASDFD12
33 / 33 / 5
Регистрация: 15.09.2012
Сообщений: 425
28.01.2014, 16:56  [ТС]     Как в обьекте canvas определить цвет пикселя с заданными координатами #5
В классе обьявил
Java
1
Bitmap bitmap;
В конструкторе указал
Java
1
 this.setDrawingCacheEnabled(true);
В методе onDraw
Java
1
2
canvas.drawBitmap(fon, 0, 0, null);
this.bitmap=this.getDrawingCache();
В методе onTouchEvent()
Java
1
Log.d(tag,"color:"+this.bitmap.getPixel((int)e.getX(), (int)e.getY())) ;
Виводит постоянно : color:0
Что может біть не так?
MegaSinner
91 / 91 / 3
Регистрация: 09.04.2010
Сообщений: 746
28.01.2014, 18:29     Как в обьекте canvas определить цвет пикселя с заданными координатами #6
ASDFD12, Битмап объяви паблическо-статическим и this там не нужно.
Java
1
if (bmp_to_draw.getPixel(x, y) == Color.RED)...
И ты, наверное, рисуешь не там, где нужно..

Добавлено через 7 минут
Для начала, можно так:
Java
1
2
3
4
5
6
7
8
    
 v_to_draw = (ImageView)findViewById(R.id.transparent);
        v_to_draw.setImageBitmap(BitmapFactory.decodeFile(path_to_res + "/img14.png"));
        int v_to_draw_w = width;
        int v_to_draw_h = height;
        bmp_to_draw = Bitmap.createBitmap(v_to_draw_w, v_to_draw_h, Bitmap.Config.ARGB_8888);
        canvas_to_draw = new Canvas(bmp_to_draw);
        ....
Добавлено через 5 минут
И кэш тревожить там не нужно.

Добавлено через 29 минут
...
Vladimirys
306 / 203 / 24
Регистрация: 16.01.2010
Сообщений: 578
28.01.2014, 19:32     Как в обьекте canvas определить цвет пикселя с заданными координатами #7
Не оно? http://stackoverflow.com/questions/7...our-in-android
ASDFD12
33 / 33 / 5
Регистрация: 15.09.2012
Сообщений: 425
28.01.2014, 19:42  [ТС]     Как в обьекте canvas определить цвет пикселя с заданными координатами #8
мне нужно цвет пикселя получить с canvas,
MegaSinner
91 / 91 / 3
Регистрация: 09.04.2010
Сообщений: 746
28.01.2014, 19:59     Как в обьекте canvas определить цвет пикселя с заданными координатами #9
ASDFD12, оно и получает у меня с канваса, точнее с того же битмапа, на котором рисую красные линии канвасом..
ASDFD12
33 / 33 / 5
Регистрация: 15.09.2012
Сообщений: 425
28.01.2014, 20:14  [ТС]     Как в обьекте canvas определить цвет пикселя с заданными координатами #10
[QUOTE=MegaSinner;5706128]ASDFD12, Битмап объяви паблическо-статическим и this там не нужно.
Java
1
if (bmp_to_draw.getPixel(x, y) == Color.RED)...
И ты, наверное, рисуешь не там, где нужно..

Что ты имеешь ввиду, можешь обьяснить почему мой пример не работает?
MegaSinner
91 / 91 / 3
Регистрация: 09.04.2010
Сообщений: 746
28.01.2014, 20:15     Как в обьекте canvas определить цвет пикселя с заданными координатами #11
ASDFD12, у тебя, похоже, битмап вообще не связан с канвасом.
ASDFD12
33 / 33 / 5
Регистрация: 15.09.2012
Сообщений: 425
28.01.2014, 21:38  [ТС]     Как в обьекте canvas определить цвет пикселя с заданными координатами #12
Цитата Сообщение от MegaSinner Посмотреть сообщение
ASDFD12, у тебя, похоже, битмап вообще не связан с канвасом.
Я понял.
Я что-то думал, что getDrawindCache() применяется для canvas.
Куда тогда записывается canvas после отображения, и есть ли слои в canvas? Тоесть когда при следующем выводе canvas его содержимое будет полупрозрачным, то будет видно как предыдущее изображение так и выводимое. Меня интересует в этот момент содержимое canvas - это предыдущее + наложенное выводимое, или предыдущее хранится уже в другом обьекте, а выводимое в canvas?
MegaSinner
91 / 91 / 3
Регистрация: 09.04.2010
Сообщений: 746
29.01.2014, 00:17     Как в обьекте canvas определить цвет пикселя с заданными координатами #13
ASDFD12, нету там никаких слоев - есть полотно(битмап) и канвас рисует на нем, по этому нужно вовремя его очищать, чтобы не было наложения нового, на уже не нужное старое - в моем случае я перерисовую тот прозрачный PNG (обновляю битмап).
ASDFD12
33 / 33 / 5
Регистрация: 15.09.2012
Сообщений: 425
29.01.2014, 02:35  [ТС]     Как в обьекте canvas определить цвет пикселя с заданными координатами #14
Цитата Сообщение от MegaSinner Посмотреть сообщение
ASDFD12, Битмап объяви паблическо-статическим и this там не нужно.
Java
1
if (bmp_to_draw.getPixel(x, y) == Color.RED)...
И ты, наверное, рисуешь не там, где нужно..

Добавлено через 7 минут
Для начала, можно так:
Java
1
2
3
4
5
6
7
8
    
 v_to_draw = (ImageView)findViewById(R.id.transparent);
        v_to_draw.setImageBitmap(BitmapFactory.decodeFile(path_to_res + "/img14.png"));
        int v_to_draw_w = width;
        int v_to_draw_h = height;
        bmp_to_draw = Bitmap.createBitmap(v_to_draw_w, v_to_draw_h, Bitmap.Config.ARGB_8888);
        canvas_to_draw = new Canvas(bmp_to_draw);
        ....
Добавлено через 5 минут
И кэш тревожить там не нужно.

Добавлено через 29 минут
...
Здесь строчка где вы создаете Canvas
Java
1
 canvas_to_draw = new Canvas(bmp_to_draw);
bmp_to_draw - и получается тот Bitmap на который происходит рисование?

Добавлено через 2 часа 5 минут
по умолчанию canvas рисует на Surface. Как тогда из Surface получить цвет пикселя?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.01.2014, 10:19     Как в обьекте canvas определить цвет пикселя с заданными координатами
Еще ссылки по теме:
Android Как рисовать на готовом canvas?
Как нарисовать Bitmap на Canvas'е Android
Android Как рисовать текст на Canvas во View?
Android Как в canvas сделать плавный переход от одной картинки к другой?
Android Как разместить EditText и область рисования Canvas в одном Activity?

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

Или воспользуйтесь поиском по форуму:
MegaSinner
91 / 91 / 3
Регистрация: 09.04.2010
Сообщений: 746
29.01.2014, 10:19     Как в обьекте canvas определить цвет пикселя с заданными координатами #15
Цитата Сообщение от ASDFD12 Посмотреть сообщение
bmp_to_draw - и получается тот Bitmap на который происходит рисование?
- да, он самый.
Цитата Сообщение от ASDFD12 Посмотреть сообщение
по умолчанию canvas рисует на Surface. Как тогда из Surface получить цвет пикселя?
- с сурфейса не знаю, но ничто тебе не мешает вместо него повесить тачлистенер на ImageView - результат тот же.
Yandex
Объявления
29.01.2014, 10:19     Как в обьекте canvas определить цвет пикселя с заданными координатами
Ответ Создать тему
Опции темы

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