Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > getPixel для Image Object с return RGB от pixel


Автор: polosatij 12.9.2006, 23:48
.. ничего подходяшего не найду.. возможно ли вообще  smile 

Автор: dstorm81 13.9.2006, 00:47
в смысле от картинки узнать цвет пиксела? скорее всего нет, может только под ослом в актив иксах что нить есть такое.
а все скрипты где выбирается цвет от палитры, реализованы в виде картинки-палитры и вычислениями позиции курсора над ее поверхностью

Автор: 12345c 13.9.2006, 02:14
Можно прочитать через XMLHttp код файла и пропарсить, вытащив коды цветов и точек. Если знаете форматы файлов, конечно. smile

Автор: y3u 13.9.2006, 15:18
интересно, как это вы парсить бинарник собрались, к примеру чтобы достать пихель в TIFF формате, надо иметь возможность перемещаться на заданное количество байт от начала файла, а в грей скейлах вообще надо иметь возможность работать с битами, а чтобы достать его цвет, который может быть помимо RGB и в CMYK и в HSB и быть индексированым внутри файла, т.ч. придется еще кучу алгоритмов реализовывать... Так что для жаба скрипта это непосильная задача

Автор: polosatij 13.9.2006, 18:13
Цитата(12345c @  13.9.2006,  02:14 Найти цитируемый пост)
Можно прочитать через XMLHttp код файла и пропарсить, вытащив коды цветов и точек. Если знаете форматы файлов, конечно. smile 



интересная мысль, спасибо =)

Добавлено @ 18:16 
Цитата(y3u @  13.9.2006,  15:18 Найти цитируемый пост)
интересно, как это вы парсить бинарник собрались, 


парсить нужно в c++ или яве.. и затем составить соответствующий xml файл например..
проблема только в том, что если файл большой... => нужно его как-то оптимизировать..

и ещё есть проблема.. я так думаю, координаты мыши не во всех бровзерах будут работать.. smile

надо что-нибудь по проще..  smile 

Автор: 12345c 13.9.2006, 19:53
Да элементарно (лишь бы подобия тегов не попались) - .responseText в переменную, затем .charCodeAt(i).

Координаты мыши везде читаются - event.offsetX или event.layerX (для слоя в Gecko).

Автор: Sardar 13.9.2006, 20:03
Цитата(y3u @  13.9.2006,  14:18 Найти цитируемый пост)
к примеру чтобы достать пихель в TIFF формате, надо иметь возможность перемещаться на заданное количество байт от начала файла, а в грей скейлах вообще надо иметь возможность работать с битами, 

Всё это возможно в JS, только "файл" будет загруженной строкой, битовые операции естестественно в JS есть. Но естественно это изврат черезмерный smile

Цитата(polosatij @  13.9.2006,  17:13 Найти цитируемый пост)
парсить нужно в c++ или яве.. и затем составить соответствующий xml файл например..
проблема только в том, что если файл большой... => нужно его как-то оптимизировать..

Здравая мысль, открой его через GD2 (PHP, Perl, Ruby etc), достань любые пикселы, отдай в XML клиенту. Клиента запрашивай инфу через XMLHttpRequest.

Цитата(polosatij @  13.9.2006,  17:13 Найти цитируемый пост)
и ещё есть проблема.. я так думаю, координаты мыши не во всех бровзерах будут работать..

Я не знаю такого браузера где координаты мыши нельзя было бы получить, эта фича уже десяток лет всеми браузерами поддерживаеться, где есть понятие указателя (мышь). http://forum.vingrad.ru/index.php?showtopic=92825&view=findpost&p=709241.

Автор: y3u 13.9.2006, 22:21
 smile  блин, а господа знают толк в извращениях  smile 

Автор: polosatij 13.9.2006, 23:40
я почему спрашивал про это.. думал меня это на какую-нибудь мысль наведёт.. дело в том, что я хочу менять листы (другой цвет) в меню (вот линк http://web672.lin-www.df-webhosting.de/yaroslava/index.html .). и как я только не пытался, что-то не выходит у меня ничего... smile

Автор: Sardar 14.9.2006, 00:22
Цитата(polosatij @  13.9.2006,  22:40 Найти цитируемый пост)
вот линк

404

Цитата(polosatij @  13.9.2006,  22:40 Найти цитируемый пост)
дело в том, что я хочу менять листы (другой цвет) в меню

Тебе нужна "палитра цветов" (вбить в поиске для готовых скриптов), мышой можно выбрать один из доступных цветов. Палитру можно сделать на ячейках таблицы, задав цвет, или отослав картинку с тонами/цветами, а по координатам прямо на клиенте вычислить цвет. Брать пиксел с картинки не нужно, т.к. при сжатии и просто цветовой коррекции монитора у клиента твои цвета могут измениться.

Автор: polosatij 14.9.2006, 00:42
Цитата(Sardar @  14.9.2006,  00:22 Найти цитируемый пост)
404


убери скобку и точку в конце линка.. она относиться к тексту (!)

Добавлено @ 00:45 
Цитата(Sardar @  14.9.2006,  00:22 Найти цитируемый пост)
Палитру можно сделать на ячейках таблицы, задав цвет, или отослав картинку с тонами/цветами, а по координатам прямо на клиенте вычислить цвет. 



мне кажеться ты меня немного не понял.. 
посмотри, пожалуйста, линк.. 

меню: contact и т.д. при наведении мышкой на "лист" должно менять сам "лист".. (посему я думал, как-нибудь решить данную проблему с координатами и цветами)

Автор: 12345c 14.9.2006, 01:24
Этот делают просто через AREA (тег), они onmouseover понимают.

Автор: polosatij 14.9.2006, 01:28
Цитата(12345c @  14.9.2006,  01:24 Найти цитируемый пост)
Этот делают просто через AREA (тег), они onmouseover понимают. 



проблема в том => если положить на этот image другой image, срабатывает mouseOut (!). а он мне нужен для определения - вылезла ли мышь из картинки (!)
загляни в мой код на странице (!) 

Автор: 12345c 14.9.2006, 02:00
Делайте замену картинок в слое, находящемся под прозрачным гифом, покрывающим подложку. Area - на прозрачном гифе.

Автор: polosatij 14.9.2006, 02:42
Цитата(12345c @  14.9.2006,  02:00 Найти цитируемый пост)
Делайте замену картинок в слое, находящемся под прозрачным гифом, покрывающим подложку. Area - на прозрачном гифе. 



 smile  как это я сам до этого не дошёл.. мысли небыло такой в голове.. всё замудрённо думаю.. держи (+)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)