Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Рисование сетки Добавлено: 20.07.07 16:37  

Автор вопроса:  Winand | Web-сайт: winandfx.narod.ru
Форма размером 16 на 14 единиц
Как лучше сетку нарисовать?
У меня есть 2 варианта:
For i = 1 To 15
    If i < 14 Then frm_loc.Line (0, i)-(16, i), 7895160
    frm_loc.Line (i, 0)-(i, 14), 7895160
Next i

For i = 0 To 14 Step 2
    If i <= 12 Then frm_loc.Line (0, i)-(16, i + 1), 7895160, B
    frm_loc.Line (i, 0)-(i + 1, 14), 7895160, B
Next i

Или может API?
тут-то небольшая сетка и рисуется быстро в любом случае, а вдруг попадется больше

Ответить

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

Номер ответа: 1
Автор ответа:
 Крест



Вопросов: 4
Ответов: 37
 Профиль | | #1 Добавлено: 20.07.07 17:20
Не думаю че будет такаю большая.Всеравно оно быстро рисуеца.У меня 1024*768 за 1 с. Рисуеца

Ответить

Номер ответа: 2
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #2
Добавлено: 20.07.07 18:12
У меня 1024*768 за 1 с. Рисуеца

1. Этош не сетка, это сплошной фон! :)
2. На каком языке?
3. Если VB, то какойш у тя комп?

Ответить

Номер ответа: 3
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #3 Добавлено: 21.07.07 15:33
имхо самый эффективный - рисовать горизонтально и вертикально по-отдельности. иф в цикле - зло. степ - зло аццкое.
2. На каком языке?

вбнет такой синтакс не поддерживает, кубейсик не держит точку, это точно вб

зы не будь долбо*бом и поставь цвет хоть в виде гекса, скорость от зло*бучести кода не зависит

ззы не собирай сливки на сам знаешь чем, этот код выполняется за миллисекунды даже на 1600х1200(проверено).

Ответить

Номер ответа: 4
Автор ответа:
 EUGY



Вопросов: 0
Ответов: 454
 Профиль | | #4 Добавлено: 21.07.07 17:55
Все правильно сделано.
Плохо то, что прорисовка зависит от ScaleMode формы. И не на форме надо делать сетку, а на usercontrol. Насчет win32 api - опять же - правильно, на порядок (минимум) скорость будет выше.
Кроме того, не одними линиями сетка жива, но и содержанием, и если чертить ее средствами VB - тормоза гарантированы. Попробуй рисовать на hDC.

Ответить

Номер ответа: 5
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #5
Добавлено: 21.07.07 22:57
Да, там содержание не сложное.
Несколько минеральных полей да источников газа ))
показанных прямоугольниками

А почему на Юзерконтрол а не на форме? какая разница-то?

Вообще проблем со скоростью естессно не наблюдается, просто хочу узнать как делать не надо))

зы. мне цвет в dec не мешает, хотя надо попробовать хекс

Ответить

Номер ответа: 6
Автор ответа:
 EUGY



Вопросов: 0
Ответов: 454
 Профиль | | #6 Добавлено: 22.07.07 03:14
А почему на Юзерконтрол а не на форме?

Написанное однажды имеет тенденцию использоваться повторно. Намного удобнее задать кол-во строк, столбцов и пр. в свойствах usercontrol, нежели каждый раз переписывать код формы.

Ответить

Номер ответа: 7
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #7 Добавлено: 23.07.07 18:08
Несколько минеральных полей да источников газа

какой размах для программиста ))

Ответить

Номер ответа: 8
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #8
Добавлено: 23.07.07 20:59
какой еще размах? разве непонятно, что я решил переписать Старкрафт на VB6 )))
шучу конечно, но доля правды есть, с sc связано. сильно.

Ответить

Номер ответа: 9
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #9
Добавлено: 25.07.07 01:24
2Fever:
For i = 1 To 15: frm_loc.Line (i, 0)-(i, 14), 7895160: Next i '\_Сетка
For i = 1 To 13: frm_loc.Line (0, i)-(16, i), 7895160: Next i '/

Вот изврат программирования! Цикл - в одной строке)))

Ответить

Страница: 1 |

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



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