![]() |
|
![]() ![]() ![]() |
|
PandaRus |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 27.12.2006 Репутация: нет Всего: нет |
Сейчас кое-как справился с примером програмки по книжке VC++. Программа представляет собой Виндоуз-приложение, где можно рисовать квадратики-кружки разных цветов.
Мне желательно написать программу, где будет на листе заранее нарисована сетка, и я буду разукрашивать квадратики сетки в разные цвета. После чего цвет каждого квадрата должен перевестись в какое-то число и присвоится переменной. В идеале вижу процесс рисования как создание пиктограмм на кнопках панелей: размер кисти имеет размер ячейки или больши и при перемещении мыши перескакивает с ячеки на ячейку... Но в это в идеале. Для начала я хотел бы узнать -какие есть функции для преобразования цвета в число -я нарисовал стационарную сетку, как по щелчку мыши на отрезке сетки, менять цвет отрезка. Да, и есть ли спецальные программы для создания приложений для рисования? тогда было-бы наверно проще? |
|||
|
||||
DigitSphinx |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 28.4.2007 Где: Москва Репутация: нет Всего: 3 |
ты с делфи перешел?
1-цвет это и есть число 2-азы рисования МФСи :
почитай про
Это сообщение отредактировал(а) DigitSphinx - 13.12.2007, 21:01 |
||||
|
|||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: нет Всего: 162 |
*задумчиво* а с чего ты взял, что топикстартер имеет в виду MFC?.. |
|||
|
||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 16 Всего: 92 |
||||
|
||||
DigitSphinx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 28.4.2007 Где: Москва Репутация: нет Всего: 3 |
ну вот да ![]() Это сообщение отредактировал(а) DigitSphinx - 13.12.2007, 23:02 |
|||
|
||||
PandaRus |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 27.12.2006 Репутация: нет Всего: нет |
Перешел с Паскаля.
Да, я понимаю, что цвет соответствует числу, сам задавал: RGB(0-255,0-255,0-255). Я имею ввиду - нарисовал я линию. Как сделать, чтобы заново считать цвета в различных точках линии и присвоить их переменным (какие есть операторы?)? |
|||
|
||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 16 Всего: 92 |
||||
|
||||
PandaRus |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 27.12.2006 Репутация: нет Всего: нет |
Нарисовал, например, я кубик, 10 на 10 пикселей. Разукрасил от белого до красного (вроде RGB(0-255,0,0)). Затем хочу чтобы элементам массива A[10][10] присвоились числа от 0 до 255, соответствующие красному спектру.
Т.е. беру верхний левый угол квадрата - если там белый пиксель, то А[0][0]=0, если красный, то = 255. И так каждый. Это сообщение отредактировал(а) PandaRus - 13.12.2007, 23:39 |
|||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: нет Всего: 162 |
![]() DigitSphinx, Миль пардон. Чего-то я недосмотрел... или быстро тему переместили ![]() |
|||
|
||||
DigitSphinx |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 28.4.2007 Где: Москва Репутация: нет Всего: 3 |
цвет пикселя можно получить
а из COLORREF RGB можно вытащить так
JackYF, ![]() Это сообщение отредактировал(а) DigitSphinx - 14.12.2007, 00:16 |
||||
|
|||||
PandaRus |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 27.12.2006 Репутация: нет Всего: нет |
Вот так что-ли:
Не, что-то не так с последней строкой? Что за DWORD? Это сообщение отредактировал(а) PandaRus - 14.12.2007, 00:31 |
|||
|
||||
DigitSphinx |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 28.4.2007 Где: Москва Репутация: нет Всего: 3 |
DWORD т.е. 4-х байтное значение, COLORREF 4-х байтный ))
т.е. код вот такой
|
||||
|
|||||
PandaRus |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 27.12.2006 Репутация: нет Всего: нет |
Не понял что значит DC в DC.GetPixel.
Написал так:
-Ошибка - Error 1 error C2660: 'GetPixel' : function does not take 2 arguments |
|||
|
||||
DigitSphinx |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 28.4.2007 Где: Москва Репутация: нет Всего: 3 |
DC имелось ввиду CDC на которовм рисуем.
т.е. тебе еще надо туда кидать и HDC (если бы ты писал на АПИ) но поскольку ты юзаешь МФСи то надо использовать CDC::GetPixel т.е. функцию МФСи, твой код будет таким.
Это сообщение отредактировал(а) DigitSphinx - 14.12.2007, 17:54 |
||||
|
|||||
PandaRus |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 27.12.2006 Репутация: нет Всего: нет |
Большое спасибо - все работает - соответствующие числа красного спектра пошли в мой файл
|
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |