stackowerflow, но он медленный. С ним фреймрейт вью падает с 60, до 3-4. Это критично очень. Может кто знает как решить задачу?
Тоже интересно, я пытался руками, и так же медленно получилось Получается тебе надо постепенно tint битмапы менять с лева направо? Или цвет всей?
Только определенный цветовой диапазон. Т.е. замена цвета
Давно давно ещё на паскале была такая задача и там меняли не цвет пикселей, а цвет палитры. Может стоит гуглить в эту сторону. Но это не точно.
Кстати, можно обвернуть битмап в дравабл и там при рисовании цвет заменять
А смысл? Если ты конечно про ColorFilter
Может быть. Я менял цвет пикселов
А почему нет?
Будет накладывается цвет на всю битмапу, а надо отдельный цвет заменить на другой
Ну тогда просто рисуй заменяя пиксели на drawable, по идее быстрее будет В крайнем случае можно JNI юзнуть xD
А че там за метод, давай сюда. Кстати, может битмапу оно успевает покрасить а тормозит ее вставка в imageview
Какой имеджвью? Это в реальном времени на канве рисуется
На канве? Там вообще нет идей че то. В один фрейм думаю по канве нереально ничего такого. Как это вообще там, че то забыл каким быстрым методом можно с нее тек.пиксели взять? Выгрузить понятно как Битмар 500к думаю реально перерисовать (пересчитать цвета пикселей) за время фрейма. Ну двух максимум. Сколько времени уйдет на смену битмапа в имиджвью - больше фрейма или миллисекунды не в теме.
Та какой имеджвью? Все рисуется на канве, это кастом вью. Надо юзать шейдеры и opengl для быстрой работы я думаю. По другому мне кажется будет что то не то
Можно. Канва хороша когда мы рисуем фигуры или кидаем в нужную ее точку битмап Могут ли шейдеры поменять именно что цвет AAAAAA на AAAAAB на память не скажу. Может PorterDuff умеет. ОпенГЛ в проект тащить изза такого избыточно пока 3д не нужен. Но шейдеры и опенгл справятся конечно, они аппаратные
Обсуждают сегодня