Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 12.05.2008, 10:44
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 1  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Question Узнать цвет пиксела в BitmapData

Привет! Всех с прошедшими! Знатоки теории цвета - подскажите: необходимо сделать карту высот - она, как известно, представляется в виде черно-белой картинки (т.е. RGB составляющие одинаковые). Я хочу узнать цвет любой составляющей (ведь одинаковые они) в интервале от 0 до 255. BitmapData.getPixel дает значение либо строковое, если приводить значение к toString, например 101010. Либо к большому числу, например 0х101010 дает 65 с чем-то тысяч. Еще раз вопрос - как, допустим, получить цвет R-составляющей в диапазоне 0-255?

Старый 12.05.2008, 10:53
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 2  
Ответить с цитированием
chingachgoog
Banned
[+4 01.02.09]
[+1 01.02.09]
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
trace(0xFF)

Старый 12.05.2008, 10:55
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 3  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Лучше синий
Код:
синий = цвет & 0xFF
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 12.05.2008, 11:40
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 4  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
А как мне задать 0xFF, если я только указываю значения x и y, нужно использовать BitmapData.getPixel32??


Последний раз редактировалось Волгоградец; 12.05.2008 в 11:43.
Старый 12.05.2008, 11:54
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 5  
Ответить с цитированием
chingachgoog
Banned
[+4 01.02.09]
[+1 01.02.09]
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
Number("0x"+myBitmapData.getPixel(x, y).toString(16).slice(0,2))

Это если в лоб

add:
для ARGB соответственно, меняем параметры slice на (2,4) например


Последний раз редактировалось chingachgoog; 12.05.2008 в 11:57.
Старый 12.05.2008, 11:56
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 6  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Оооо, спасибо, я про slice() не подумал!

Цитата:
Это если в лоб
Просто интересно, если не в лоб, то как это?

Старый 12.05.2008, 12:02
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 7  
Ответить с цитированием
chingachgoog
Banned
[+4 01.02.09]
[+1 01.02.09]
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
можно побитовыми смещениями, можно toString оптимизировать...
да в программировании всегда 100 путей на одну задачу есть

Старый 12.05.2008, 12:04
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 8  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
chingachgoog, это что за код такой хитрый? Зачем приводить к hex, когда он обрабатывается сразу Number? И slice не в тему.
Код:
argb = 0x00FF0000;
rgb = 0xFF0000;
trace (argb >> 16);
trace (rgb >> 16);
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 12.05.2008, 12:08
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 9  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
iNils, что такое ">>" и почему 16???
Я бы перевел так - rgb намного больше шестнадцати ...

Старый 12.05.2008, 12:19
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 10  
Ответить с цитированием
chingachgoog
Banned
[+4 01.02.09]
[+1 01.02.09]
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
Цитата:
Сообщение от iNils Посмотреть сообщение
chingachgoog, это что за код такой хитрый? Зачем приводить к hex, когда он обрабатывается сразу Number? И slice не в тему.
Код:
argb = 0x00FF0000;
rgb = 0xFF0000;
trace (argb >> 16);
trace (rgb >> 16);
Я же написал, что это "в лоб" - для ПОНИМАНИЯ смысла, и также написал, что можно побитовым смещением

Создать новую тему Ответ Часовой пояс GMT +4, время: 16:44.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 16:44.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.