Две системы координат

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Две системы координат

Сообщение KPEATOP » 21.03.2013 (Чт) 7:36

Как известно в PictureBox система координат задается методом Picture.Scale (X1, Y1)-(X2, Y2). Но это для всего PictureBox.
Можно как нибудь для одного PictureBox задать две системы координат. Например для одной половины PictureBox Scale (X1, Y1)-(X2, Y2), а для другой Scale (X11, Y11)-(X22, Y22) ? Наверно это невозможно. А все таки, вдруг можно.
Заранее, спасибо.
Вечность пахнет нефтью

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Две системы координат

Сообщение Хакер » 21.03.2013 (Чт) 8:21

Чушь.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Две системы координат

Сообщение Mikle » 21.03.2013 (Чт) 10:48

KPEATOP писал(а):для одной половины PictureBox Scale (X1, Y1)-(X2, Y2), а для другой Scale (X11, Y11)-(X22, Y22)

А кто мешает поместить рядом два PictureBox с BorderStile = 0, у каждого свои настройки?

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 21.03.2013 (Чт) 11:58

А зачем это вообще надо???

KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Re: Две системы координат

Сообщение KPEATOP » 21.03.2013 (Чт) 12:33

я уже поместил два pictureboxa рядом, друг под другом. Два графика. Мне бы хотелось, чтоб это был один рисунок, а не два разных ресунка. Для копирования в буфер, например.
Вечность пахнет нефтью

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Две системы координат

Сообщение ger_kar » 22.03.2013 (Пт) 7:55

Ну насколько я понял в одном Пикчербоксе нужно нарисовать два графика и видимо для каждого графика свой масштаб, ну или при рисовании второго графика он должен быть сдвинут относительно первого. Нет проблем, все очень просто решается. Для этого нужно сделать некую надстройку, которая может быть реализована хоть в виде функций, хоть в виде класса, а если извратиться можно Пикчербокс с этой надстройкой вообще упрятать в UserControl, вобщем вариантов реализаций вагон. Так вот задача этой надстройки рисовать непосредственно на Пикчербоксе, в том месте, и в том масштабе, который будет задан. И для рисования графика нужно будет обращаться не к Пикчербоксу напрямую, а через эту надстройку. И сама надстройка пересчитав координаты будет выводить график в то место и в том масштабе который требуется.
Бороться и искать, найти и перепрятать

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 22.03.2013 (Пт) 10:37

Зачем так сложно-то?
Можно просто добавить управление системой координат (в смысле вызов Scale) в функцию рисования графика.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Две системы координат

Сообщение ger_kar » 22.03.2013 (Пт) 11:14

Qwertiy писал(а):Можно просто добавить управление системой координат (в смысле вызов Scale) в функцию рисования графика.
И что можно сделать что координата 0,0 где нибудь в середине была? И как тогда будет выглядеть вызов Scale?
Бороться и искать, найти и перепрятать

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 22.03.2013 (Пт) 11:34

ger_kar писал(а):И что можно сделать что координата 0,0 где нибудь в середине была? И как тогда будет выглядеть вызов Scale?

Ну так передавать соответствующие параметры...

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Две системы координат

Сообщение ger_kar » 22.03.2013 (Пт) 11:40

Ну вызовом Scale можно только масштабировать, а вот систему координат фиг сдвинешь. Она как начиналась вначале, так и будет начинаться.
Бороться и искать, найти и перепрятать

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 22.03.2013 (Пт) 12:03

ger_kar писал(а):Она как начиналась вначале, так и будет начинаться.

Код: Выделить всё
Pct.Scale (Left, Top) - (Right, Bottom)
В чём проблема?

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Две системы координат

Сообщение ger_kar » 22.03.2013 (Пт) 15:15

Ну проблема, в том, что если сделать pb.Scale (560, 560)-(2960, 2960), а потом попробовать
нарисовать линию pb.Line (0, 0)-(960, 960), то она как рисовалась от верхнего левого угла, так и рисуется.
Бороться и искать, найти и перепрятать

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Две системы координат

Сообщение Mikle » 22.03.2013 (Пт) 16:25

LOL!
Попробуй нарисовать линию Line (560, 0)-(960, 960), мысленно продолжи её вверх до пересечения с продолжением левой стороны... подумай.


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

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

Сейчас этот форум просматривают: Mail.ru [бот] и гости: 81

    TopList