![]() |
canvas: аналог GetPixel или как ?
Всем привет.
Вообщем наигрался я с текстовыми мидлетами, захотелось попробовать что-нить порисовать :) Сейчас пишу простенькую прогу - хочу чтоб рисовала молнии. Для полного счастья хочу на уже созданном изображении в канве применить эффект Blur (размытие). Думаю делать примитивным способом - округление 8 близлежащих точек. Но сталкнулся с трудностью - а как получить пиксель (его цвет) из канвы по координатам x,y? Смотрю в справку и вижу только Plot(x,y). А мне как-бы наоборот нужно... Еще есть некая ImageFromCanvas, которая возвращает тип image. Впринципе, то что нужно, но вот можно-ли как-то этот тип image обрабатывать, например как массив или еще как-то? Глянул на список библиотек, но что-то похожей функции в них не нашел. Может конечно плохо глядел.. Помогите плиз советом новичку. Заранее спасибо :) |
Чуть не по теме (извини), но есть либа lib_effects, там вроде есть размытие
http://www.forum.boolean.name/showthread.php?t=7749 |
Ответ: canvas: аналог GetPixel или как ?
Цитата:
PHP код:
А пока решил использовать массив ((( Ессно тормоза, каких свет не видывал. Ни о каком либо реал-тайм и речи нет (( Что-то все время переполняеться(?), подозреваю что косяки в процедуре отрисовки линии, отловить пока не могу. Переодически виснет намертво. Еще сталкнулся с тем, что MP разрешает запросто делить число на ноль, из-за чего соответственно зависалово мидлета. В архиве исходники и JAR. |
Ответ: canvas: аналог GetPixel или как ?
На счет GetPixel: такой функции нет, но в библиотеке cnv2 есть функция get_rgb, которая создает массив значений пикселов в RGB из изображения.
|
Ответ: canvas: аналог GetPixel или как ?
Цитата:
|
Ответ: canvas: аналог GetPixel или как ?
Вложений: 1
Забыл, там даже есть функция
function get_color(x,y:integer):integer; так что, можно сразу ее использовать. Вот сама либа: |
Ответ: canvas: аналог GetPixel или как ?
Вложений: 2
Мдя, функция хороша, но ругается что-то про совместимость типов, если сделать c := het_color(50,50), где c - integer. Хотя вроде если делать s := IntegerToString(get_color(50,50)), то вроде работает... Но тут опять-же вопросы скорости: пока она в строку переведеться, пока из строки перевести в шеснадцатерицную и выципить компоненты RGB, пока их поменять и потом опять-таки рисовать Plot по точке.... Вообщем как я понимаю на MP рендерить что-либо в реальном времени не получиться.
Все больше и больше посматриваю в сторону нативной Явы ;) Ну и выложу на всякий случай исправленный исходник демки, там минусовые значения появлялись в SetColor и line_, отчего намертво висло все. Щаз исправил. Звездочка - смена картинки, решетка - выход. |
Ответ: canvas: аналог GetPixel или как ?
О боже, зачем тебе переводить в строку, чтобы получить rgb составляющие? Юзай битовые сдвиги.
|
Ответ: canvas: аналог GetPixel или как ?
Цитата:
Но за идею со сдвигами спасиб конешно. Знал, но забыл ( |
Ответ: canvas: аналог GetPixel или как ?
Цитата:
|
Ответ: canvas: аналог GetPixel или как ?
Вложений: 1
Цитата:
А так еще немного оптимизировал демку, стала раза в два побыстрее работать. Исходники прилогаються. |
Ответ: canvas: аналог GetPixel или как ?
Tronix, новая демка у меня не работает на телефоне (белый экран и зависание), на кэмуле тоже самое. sj boy справляется отлично...
А та которая 13.08.2009, 13:02 нормально работала. |
Ответ: canvas: аналог GetPixel или как ?
Вложений: 1
оптимизировал демку Tronix'а
|
Ответ: canvas: аналог GetPixel или как ?
Цитата:
Угнетает то, что в некоторых встроенных функциях опять-таки нет защиты от дурака, на подобии SetColor(-1,0,0). В этом случае мы получаем глухой зависон, а не какойнибуть сообщение типа Run-time error: invalid parameter или типа того. За багрепорт спасибо. Ну тогда значит будем считать что работает на всех телефонах только первая демка из этой темы, а вторая - только на сименсах ;) |
Ответ: canvas: аналог GetPixel или как ?
Цитата:
Сейчас пробую огонь сделать. Разбираюсь с lib_cnv2 потихоньку. PS: Спасибо всем за проявленный интерес к теме, всем поставил плюсы ;) Тему пока попрошу не закрывать, чувствую будут еще вопросы у меня к вам, уважаемые гуру :) |
Часовой пояс GMT +4, время: 13:51. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot