Страница: 1 |
Страница: 1 |
Вопрос: анализ графика функции
Добавлено: 18.12.06 13:03
Автор вопроса: Dmitry
Помогите, плз, такая проблема: в PictureBox вставлен ч/б график функции. Как попиксельно определить координаты точек графика и загнать их в массив. Использовал GetPixel, но не могу понять в каком виде он возвращает данные:-(
Вот, что сделал:
Dim i As Long, j As Long
Dim Matrix(0 To 800, 0 To 600) As Long
Dim w As Long
Dim h As Long
___________________
Private Sub Command1_Click()
w = picSource.Width \ Screen.TwipsPerPixelX
h = picSource.Height \ Screen.TwipsPerPixelY
For j = 0 To h
For i = 0 To w
Matrix(i, j) = GetPixel(picSource.hDC, i, j)
Next i
Next j
End Sub
Ответы
Всего ответов: 5
Номер ответа: 1
Автор ответа:
avdey
ICQ: 219571279
Вопросов: 34
Ответов: 486
Профиль | | #1
Добавлено: 18.12.06 14:59
Нафига те GetPixel, если в Picturebox есть Point!
Перебираешь координаты x, y, сравниваешь цвета, если черный тогда запоминаешь координаты, а это:
ты запоминаешь цвет As long
Номер ответа: 2
Автор ответа:
Dmitry
Вопросов: 4
Ответов: 2
Профиль | | #2
Добавлено: 18.12.06 17:43
Спасибо, понял. Че-то я сразу не догадался
Номер ответа: 3
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #3
Добавлено: 18.12.06 21:23
Номер ответа: 4
Автор ответа:
avdey
ICQ: 219571279
Вопросов: 34
Ответов: 486
Профиль | | #4
Добавлено: 19.12.06 11:06
Угу! Отличия будут заметны если картинка большого разрешения, а у него по размеру пикчербокса... код смотри!
Номер ответа: 5
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #5
Добавлено: 19.12.06 21:23
Если границы массива жестко заданы, смысл в
w = picSource.Width \ Screen.TwipsPerPixelX
h = picSource.Height \ Screen.TwipsPerPixelY
?
просто бы уже..
For j = 0 To 800
For i = 0 To 600
...
И вообще если график строится программно, лучше бы запоминать координаты на этапе построения графика, а не переберать точки когда график построен