Нужна помощь с графикой

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
killerb
Новичок
Новичок
 
Сообщения: 43
Зарегистрирован: 27.01.2005 (Чт) 23:08
Откуда: Днепропетровск

Нужна помощь с графикой

Сообщение killerb » 26.03.2005 (Сб) 22:25

Мне в программе нужна следующая функция - чтобы пользователь мог нарисовать (например в paint) график функции, сохранить его и загрузить в PictureBox, а программа нашла координаты всех черных пикселей.
Последний раз редактировалось killerb 26.03.2005 (Сб) 23:57, всего редактировалось 1 раз.
Жизнь - это карусель, на которой никому не дано удержаться надолго. Стивен Кинг

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 26.03.2005 (Сб) 22:40

Тебе надо, чтоб прям из окна Paint'а прочитала? Или ты имеешь ввиду, что пользователь сохранил Paint'овский рисунок куда-нибудь, и прога его оттуда прочитала?

А вообще, и то и другое отличаться будут только той частью, в которой получаем изображение. В первом случае - ищем hWndшник,
Paint'а, получаем hWnd области рисования, потом ее hDС и т.д.
А во втором - просто загружаем его куда-нибудь в PictureBoх.
Или, для продвинутых( :) ) работам без PictureBox, в памяти.
Пример где-то был.

А что до самой программы - ну, скажем, график у нас красный - ищем все пикселы красного цвета, и записываем их координаты.
Может, можно и рациональнее.....

killerb
Новичок
Новичок
 
Сообщения: 43
Зарегистрирован: 27.01.2005 (Чт) 23:08
Откуда: Днепропетровск

Сообщение killerb » 26.03.2005 (Сб) 22:56

Я наверное не коректно поставил вопрос. Программа должна открывать графический файл и загружать в двумерный массив координаты всех черных пикселей.
Последний раз редактировалось killerb 26.03.2005 (Сб) 23:54, всего редактировалось 1 раз.
Жизнь - это карусель, на которой никому не дано удержаться надолго. Стивен Кинг

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 26.03.2005 (Сб) 23:03

...........координаты всех пикселей?
Ну тогда вообще нет никаких проблем! Елси не охота возиться с памятью - создаешь невидимый PictureBox(вроде autoredraw должен true быть......), грузишь туда свой график(picturte1.picture=loadpicture("C:\graph.bmp"), например) А потом просто во вложенных циклах пробегаешь по координатам и получаешь значение цвета с помощю

Код: Выделить всё
Declare Function GetPixel Lib "gdi32" Alias "GetPixel" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long

, записывая их в свой массив...

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 26.03.2005 (Сб) 23:05

А вообще, наверное, лучше напрямую из файла считывать....

killerb
Новичок
Новичок
 
Сообщения: 43
Зарегистрирован: 27.01.2005 (Чт) 23:08
Откуда: Днепропетровск

Сообщение killerb » 27.03.2005 (Вс) 0:25

Все, спасибо.
Жизнь - это карусель, на которой никому не дано удержаться надолго. Стивен Кинг


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 126

    TopList