Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Power Basic

Страница: 1 | 2 |

 

  Вопрос: Оптимизировать, но как? Добавлено: 12.05.05 22:09  

Автор вопроса:  SyavX

Ответить

  Ответы Всего ответов: 19  

Номер ответа: 16
Автор ответа:
 SyavX



Вопросов: 25
Ответов: 149
 Профиль | | #16 Добавлено: 21.05.05 21:00
Ты прав, это я сдуру.
...
lColor = GetPixel(hDC, X, Y)
If ((lColor And &HFF0000) = &HFF0000) And ((lColor And &HFF&;) = &HFF&;) Then
    i = (lColor And &HFF00&;) \ &H100
    Arr(i).x = x
    Arr(i).y = y
    Count = Count + 1
End If
...


Код, которий ты написал будет заносить в массив координаты всех точек, цвет которых похож на RGB(255, xxx, 255), при чем в порядке сверху вниз и слева на право. А я пытаюсь записывать в Arr(1) точку с цветом RGB(255, 1, 255), в Arr(2)...RGB(255, 2, 255) и тд. для того чтобы CreatePolygonRgn правильно создал нужный нам регион.
(как я уже писал это для случая, когда на битмапе уже проставлены точки-вершины в правильном порядке цветами от RGB(255, 1, 255) до RGB(255, 255, 255))
 
Это ж я к чему вел:
#10: создать массив точек, обрамляющих регион и по ходу программы только вызвать один раз ф-цию CreatePolygonRgn

Ответить

Номер ответа: 17
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #17 Добавлено: 21.05.05 21:50
Опять же, какие проблемы: если у тебя индекс массива совпадает с цветом GREEN, то
Arr(clr And &HFF00).x = x
Arr(clr And &HFF00).y = y

Ответить

Номер ответа: 18
Автор ответа:
 SyavX



Вопросов: 25
Ответов: 149
 Профиль | | #18 Добавлено: 22.05.05 22:59
Это я разумею :)
А цвета RGB(255, 1, 255)...RGB(255, 255, 255) это так, к примеру

Ответить

Номер ответа: 19
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #19 Добавлено: 22.05.05 23:09
Тут ошибка закралась:
чтобы по порядку выстроить в массиве, надо
Arr((clr And &HFF00)\256).x = x
Arr((clr And &HFF00)\256).y = y

Тогда координата точки, для которой green=0 будет Arr(0), green=1 будет Arr(1) и т.д. Точки в массиве станут в порядке возрастания значения green. Именно так, как ты хочешь сделать.
Наверное, таким образом ты хочешь указать направление обхода?

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам