Точка, линия, кривая ...

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
SeT
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 362
Зарегистрирован: 29.12.2004 (Ср) 13:11

Точка, линия, кривая ...

Сообщение SeT » 05.05.2006 (Пт) 12:51

Скажите как можно нарисовать точку, линию, квадратик, чтобы потом можно было их редактировать (удалить, увеличить и т.д.)?
01000100
Причиняет боль 0010
Виртуальная любовь 00100
Индустрия снов 0010

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 05.05.2006 (Пт) 12:54

Под словами "можно редактировать" ты имеешь в виду, что квадратик должен быть векторным, а не растровым?
Быть... или не быть. Вот. В чём вопрос?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 05.05.2006 (Пт) 12:55

controls.add("vb.shape") ?
controls.add("vb.line") ?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

SeT
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 362
Зарегистрирован: 29.12.2004 (Ср) 13:11

Сообщение SeT » 05.05.2006 (Пт) 12:57

Код: Выделить всё
controls.add("vb.shape") ?
controls.add("vb.line") ?
Расшифруй пожалуйста.

Под словами "можно редактировать" ты имеешь в виду, что квадратик должен быть векторным, а не растровым?
Да, графика векторная.
01000100
Причиняет боль 0010
Виртуальная любовь 00100
Индустрия снов 0010

Gotha
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 106
Зарегистрирован: 20.04.2006 (Чт) 10:55
Откуда: Красногорск

Сообщение Gotha » 05.05.2006 (Пт) 14:04

line(x1,y1)-(x2,y2), B - квадратик
line(x1,y1)-(x2,y2) - линия
pset(x,y),color - пыксель

type myCoord
x as long
y as long
end type

dim myBox(1) as myCoord

в этот муБокс пишешь координаты кубика и т.д., короче запарился)
по маусмуву все чистишь и рисуешь заново или еще как-нить, как тебе нравится :wink:
короче тут надо ручками, а не обсуждать
Du stirbst. Besitz stirbt.
Die Sippen sterben.
Der einzig lebt - wir wissen es
Der Toten Tatenruhm.

SeT
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 362
Зарегистрирован: 29.12.2004 (Ср) 13:11

Сообщение SeT » 05.05.2006 (Пт) 15:15

ну а как построить кривую. т.е. даны координаты начальной точки и конечной, как задать уравнение, по которому будет строиться кривая. Если указать в цикле с точками то как потом всю кривую одновременно редактировать?
01000100
Причиняет боль 0010
Виртуальная любовь 00100
Индустрия снов 0010

Gotha
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 106
Зарегистрирован: 20.04.2006 (Чт) 10:55
Откуда: Красногорск

Сообщение Gotha » 05.05.2006 (Пт) 15:19

на вбруссиан.ком лежал пример А.Оловянникова со сплайном по массиву точек
Du stirbst. Besitz stirbt.
Die Sippen sterben.
Der einzig lebt - wir wissen es
Der Toten Tatenruhm.

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 05.05.2006 (Пт) 15:40

Рекомендую сначала выполнить код GSergа и посмотреть, не это ли то, что ты хотел...
Быть... или не быть. Вот. В чём вопрос?

SeT
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 362
Зарегистрирован: 29.12.2004 (Ср) 13:11

Сообщение SeT » 05.05.2006 (Пт) 17:08

А что код SERG'а делает? Я ввёл - и тишина...
01000100
Причиняет боль 0010
Виртуальная любовь 00100
Индустрия снов 0010

SeT
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 362
Зарегистрирован: 29.12.2004 (Ср) 13:11

Сообщение SeT » 05.05.2006 (Пт) 17:10

на вбруссиан.ком лежал пример А.Оловянникова со сплайном по массиву точек
Я уже самому Оловянникову писал по поводу его кода. Ответа не пришло.
01000100
Причиняет боль 0010
Виртуальная любовь 00100
Индустрия снов 0010

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 05.05.2006 (Пт) 17:11

Угу... там же рассчитано на додумывание оставшихся 10%...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 05.05.2006 (Пт) 17:14

SeT, почему бы не почитать доки?
Код: Выделить всё
Controls.Add "vb.shape", "shp1"
With Controls("shp1")
    .Visible = True
    .Left = 200
    .Top = 200
End With

Выпишите замечание за игнорирование здравого смысла.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 05.05.2006 (Пт) 17:17

Дык его только сегодня разбанили, и сразу замечание... завтра и выпишем...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

SeT
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 362
Зарегистрирован: 29.12.2004 (Ср) 13:11

Сообщение SeT » 06.05.2006 (Сб) 16:26

Чё-то со всем этим я всё равно не могу понять, как сделать простенький векторный редактор... Чтобы ещё и отмена действий была...
01000100
Причиняет боль 0010
Виртуальная любовь 00100
Индустрия снов 0010

Gotha
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 106
Зарегистрирован: 20.04.2006 (Чт) 10:55
Откуда: Красногорск

Сообщение Gotha » 06.05.2006 (Сб) 18:18

думай побольше.. залезь на http://planet-source-code.com/vb, поищи там... там куча примеров
Du stirbst. Besitz stirbt.
Die Sippen sterben.
Der einzig lebt - wir wissen es
Der Toten Tatenruhm.

SeT
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 362
Зарегистрирован: 29.12.2004 (Ср) 13:11

Сообщение SeT » 13.05.2006 (Сб) 17:49

Controls.Add "vb.shape", "shp1"
With Controls("shp1")
.Visible = True
.Left = 200
.Top = 200
End With
Спасибо! То, что нужно! Правда я так и не понял как это рботает, но это работает :-) А как тоже самое на пикчербоксе сделать?
01000100
Причиняет боль 0010
Виртуальная любовь 00100
Индустрия снов 0010

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 13.05.2006 (Сб) 22:38

Позорище!

Код: Выделить всё
Controls.Add "vb.shape", "shp1"
With Controls("shp1")
    .Visible = True
    .Left = 200
    .Top = 200
    Set .Container = Picture1
End With

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 14.05.2006 (Вс) 4:14

В связи с чем, перемещаем.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

SeT
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 362
Зарегистрирован: 29.12.2004 (Ср) 13:11

Сообщение SeT » 14.05.2006 (Вс) 8:06

Позорище!
Ой, а я смотрю тут все умные такие собрались....
А как сектор и дугу через фигуру Shape нарисовать???
01000100
Причиняет боль 0010
Виртуальная любовь 00100
Индустрия снов 0010

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 14.05.2006 (Вс) 11:04

Никак! Используй метод Circle.
Моду создают модоки, а распространяют модозвоны.

SeT
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 362
Зарегистрирован: 29.12.2004 (Ср) 13:11

Сообщение SeT » 14.05.2006 (Вс) 14:19

Никак! Используй метод Circle.
- следовательно выше изложенный код не подходит...
01000100
Причиняет боль 0010
Виртуальная любовь 00100
Индустрия снов 0010


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 63

    TopList