![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| Sosed |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 18.8.2009 Репутация: нет Всего: 1 |
Доброго времени суток, такая проблема:
Есть изображение, из него надо вытащить в три массива RGB всех пикселей. С winapi я на "Вы", хотелось бы поподробней. |
|||
|
||||
| Cheloveck |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1578 Регистрация: 26.7.2008 Где: Тула Репутация: 1 Всего: 32 |
GetPixel SetPixel, а вообще, хотелось бы поподробнее вопрос. Что за массивы, одинаковые что ли? Что должно быть в массивах?
-------------------- ![]() |
|||
|
||||
| Sosed |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 18.8.2009 Репутация: нет Всего: 1 |
Ну к примеру есть картинка 16х16, цветная. Если я правильно понял, то каждый пиксель закодирован тремя числами (111,222,201).
Собственно эти самые числа и надо вытащить в три массива, чтобы в итоге получилось три одинаковые матрицы. Если можно, покажите пример, как получить эти значения для одного пикселя? Это сообщение отредактировал(а) Sosed - 8.10.2009, 13:59 |
|||
|
||||
| Cheloveck |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1578 Регистрация: 26.7.2008 Где: Тула Репутация: 1 Всего: 32 |
RGB макрос для получения цвета. GetRValue, GetGValue и GetBValue для извлечения отдельных значений (тоже макросы).
не совсем, цвет состоит из 24 бит, по 8 бит на каждый (красный, зелёный, синий), интенсивность определяется от нуля до 255. Старший байт четырёхбайтного значения RGB - значение прозрачности, оно тебе не надо. -------------------- ![]() |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 1 Всего: 196 |
Вообще-то, количество бит на пиксель может быть разным. Стандартные: 1, 4, 8, 15, 16, 24, 32 (с альфа-каналом или выравниванием). Все что меньше 15 бит, обычно, используют палитру (блок RGB цветов, на которые ссылается каждый пиксель). Поэтому, прежде чем начать разбивать картинку на цветовые каналы, нужно сначала узнать ее формат, а затем выбрать нужную процедуру вытаскивания цветов... Хотя, может в WinAPI уже все предусмотрено.
|
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
так и есть, надо хотя бы знать в каком виде эта картинка,
Sosed, какие данные есть на входе, как говорится? можно привести фрагмент кода для ясности -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| Sosed |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 18.8.2009 Репутация: нет Всего: 1 |
Я как бы сам прошу фрагмент кода =)
Есть картинка, .bmp - с нее вытащить значения писелей. Говорят что в delphi можно просто функцией в цикле пробежаться по пикселям (GetPixel) и вытащить значения. В С++ незнаю как так сделать. |
|||
|
||||
| GremlinProg |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
это и есть исходные данные
в си то же самое:
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
||||
|
|||||
| Sosed |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 18.8.2009 Репутация: нет Всего: 1 |
Спасибо, вопрос решен.
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |