|
29.01.2010, 17:36
|
#1
|
Бывалый
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений (для 428 пользователей)
|
Pixel
При сохранение цвета пикселя read пикселем то выводит цифры например белый -1 а какой-то другой что то типа: -1780...
Программа та расшифрует (write pixel), а мне как? Мне нужно узнать РГБ пикселя а не это.
|
(Offline)
|
|
29.01.2010, 17:47
|
#2
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Pixel
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
29.01.2010, 17:49
|
#3
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,742
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Pixel
это AARRGGBB
int, в котором первый байт указывает на альфу, второй - на красный канал, и т.д.
битовым сложением/умножением вытащи из него нужное
* Алгоритм имепра и правда не труЪ.
Вот нарыл обратную операцию:
Function ARGB(A#,R,G,
Return (Int(A*255) Shl 24) Or (R Shl 16) Or (G Shl Or B
End Function
Надеюсь, поймёшь как сделать то что тебе нужно.
Ищи на Blitzetc'е, там статьи соотв. были.
К примеру, вот:
http://blitzetc.blitzmax.ru/index.ph...%D0%BA%D0% B8
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
30.06.2010, 23:12
|
#4
|
Бывалый
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений (для 428 пользователей)
|
Ответ: Pixel
Нда, хотел решить эту задачку сам, но фиг! В интернете никаких данных не нашел, только если мне доно будет ARGB, но только не в блице. Короче у меня нихрена не вышло. Мда я задавал этот вопрос не только на этом форуме, всего ответов - 4. И то не полные.
Вот тут то что я наговнокодил, первая фунция неправильно работает, а вторая сверхнеправильно:
Function ConvertTOrgb(aarrggbb)
Local pix = aarrggbb
a=(pix And $FF000000) Shr 24
r=(pix And $FF0000) Shr 16
g=(pix And $FF00) Shr 8
b=(pix And $FF)
Print r
Print g
Print b
WaitKey
End Function
Function ConvertTOaarrggbb(r,g,b)
Print (Int(255) Shl 24) Or (R Shl 16) Or (G Shl 8 ) Or B
WaitKey()
End Function
|
|
(Offline)
|
|
30.06.2010, 23:50
|
#5
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Ответ: Pixel
а чо тебе не нравится GetColor???
Я сам не знаю как из ARGB to RGB конвертнуть
Скорость вродь немногим больше...
И вообще, igorian, Учи лучше C#, тебе ее изучить будет просто, тем более один товарищ пишет враппер к хорсу...В общем на сях вродь легче с этим битовым сложением - вычитанием - умножением???
|
(Offline)
|
|
30.06.2010, 23:54
|
#6
|
Бывалый
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений (для 428 пользователей)
|
Ответ: Pixel
Да я понял что легче, но головоломка неплохая.
2Павел Я и так сейчас частично с++ учу. Вот доучу свою часть, посмотрю что там с с# (а если ксорс то гуд, может я когда нить сделаю свои танки, какими я хотел их сделать )
|
(Offline)
|
|
01.07.2010, 00:26
|
#7
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Ответ: Pixel
Igorian, бросай ты это дело неблагодарное - С++ сложен как поступление в МГУ на бесплатной основе
А C# даж я выучил. Вообще легко.
UPD там в 10 раз быстрее блица
|
(Offline)
|
|
01.07.2010, 00:29
|
#8
|
Бывалый
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений (для 428 пользователей)
|
Ответ: Pixel
Предлагаю не засырать тему. Зайди в асю и там поговорим. У меня еще остались незаконченные дела на блице, которые того стоят. Помести свой пост в оффтоп
|
(Offline)
|
|
01.07.2010, 02:37
|
#9
|
быдло
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений (для 1,489 пользователей)
|
Ответ: Pixel
Сообщение от Павел
Igorian, бросай ты это дело неблагодарное - С++ сложен как поступление в МГУ на бесплатной основе
А C# даж я выучил. Вообще легко.
UPD там в 10 раз быстрее блица
|
то что ты называешь "выучил" на самом деле, поверхностные понятие о синтаксисе языка)
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Dream за это полезное сообщение:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 10:17.
|