Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.84/32: Рейтинг темы: голосов - 32, средняя оценка - 4.84
12 / 12 / 0
Регистрация: 03.10.2011
Сообщений: 343
1

Рисование и перемещение точки - на чем это можно реализовать

05.01.2012, 17:20. Показов 6649. Ответов 23
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте..читаю учебник по VB 2010, дошел до графики... Написано, что код для создания и перемещения точки таков:
VB.NET
1
2
3
 Dim pntf As New PointF(10.5F, 25.5F)
        Dim pnt As Point = Point.Truncate(pntf)
        pnt.Offset(5, -10)
Но если я не ошибаюсь, то как то нужно определить область для рисования (так как не работает программа).. Читал, что есть команда Dim g As Graphics = e.Graphics.
Но в этом я новичок, и не пойму, где и когда это писать...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.01.2012, 17:20
Ответы с готовыми решениями:

Реализовать рисование и перемещение картинки одним касанием
Здравствуйте, форумчане, проблема в следующем: необходимо реализовать перемещение объекта...

Реализовать линейное перемещение и вращение вокруг какой-либо точки графического объекта
Здравствуйте, пожалуйста помогите с задачкой. Вот её содержание: Реализовать линейное перемещение...

Можно ли это реализовать?
Всем добрый день. Вопрос к программистам: Я играю в одну онлайн игру (CS), захотелось сделать...

как можно это реализовать ...
Здравствуйте друзья. Хочу сделать программу чтоб например через два часа работы на компе...

23
12 / 12 / 0
Регистрация: 06.05.2011
Сообщений: 250
05.01.2012, 23:24 2
На VB.NET точку кажется нелзя рисовать, но можно элипс с шириной и высотой в 1 пиксель.

VB.NET
1
2
3
Dim g As Graphics = Me.PictureBox1.CreatedGraphics() 'Рисовать на PictureBox1
g.DrawElipse(pens.Black, pnt.X, pnt.Y,1 ,1) 'Нарисовать черный эллипс
g.clear(color.White) 'Очистить белым цветом
0
12 / 12 / 0
Регистрация: 03.10.2011
Сообщений: 343
05.01.2012, 23:30  [ТС] 3
chiribas, у меня пишет, что требуется объявление
0
169 / 149 / 14
Регистрация: 13.07.2011
Сообщений: 477
05.01.2012, 23:48 4
VB.NET
1
Me.PictureBox1.CreatedGraphics
ошибка мб тут
надо
VB.NET
1
Me.PictureBox1.CreateGraphics
или
VB.NET
1
Graphics.FromHandle(PictureBox1.Handle)
0
1710 / 1198 / 227
Регистрация: 23.12.2010
Сообщений: 1,527
05.01.2012, 23:48 5
chiribas, почти правильно.
Только надо так:
VB.NET
1
2
3
Dim g As Graphics = Me.PictureBox1.CreateGraphics() 'Рисовать на PictureBox1
g.clear(color.White) 'Очистить белым цветом
g.DrawElipse(pens.Black, pnt.X, pnt.Y,1 ,1) 'Нарисовать черный эллипс
Me.PictureBox1.CreateGraphics() - обрати внимание на СВОЙ код! Там CreatedGraphics
Плюс вторая и третья строки помяняны местами, иначе эллипс тут же зальется цветом очистки полотна.
0
12 / 12 / 0
Регистрация: 03.10.2011
Сообщений: 343
05.01.2012, 23:54  [ТС] 6
Получается весь код должен быть такой?
VB.NET
1
2
3
4
5
6
7
8
9
10
Public Class Form1
    Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
        Dim pntf As New PointF(10.5F, 25.5F)
        Dim pnt As Point = Point.Truncate(pntf)
        pnt.Offset(5, -10)
        Dim g As Graphics = Me.PictureBox1.CreateGraphics() 'Рисовать на PictureBox1
        g.Clear(Color.White) 'Очистить белым цветом
        g.DrawElipse(Pens.Black, pnt.X, pnt.Y, 1, 1) 'Нарисовать черный эллипс
    End Sub
End Class
0
169 / 149 / 14
Регистрация: 13.07.2011
Сообщений: 477
06.01.2012, 00:05 7
Panda30, ты копируешь код или чего? у тя ошибка в слове эллипс! DrawEllipse

Добавлено через 1 минуту
и эти значения побольше сделай(для наглядности например) - а то круга то и не заметишь
0
12 / 12 / 0
Регистрация: 03.10.2011
Сообщений: 343
06.01.2012, 00:07  [ТС] 8
эллипс я увидел ошибку. Исправил. но у меня все равно ничего не выходит...ничего не происходит..

Добавлено через 58 секунд
увеличил..и толку нет)наверн я туплю с этой графикой...
0
Почетный модератор
21400 / 9134 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
06.01.2012, 00:08 9
Теги должны быть для VB .NET
Миниатюры
Рисование и перемещение точки - на чем это можно реализовать  
1
12 / 12 / 0
Регистрация: 03.10.2011
Сообщений: 343
06.01.2012, 00:09  [ТС] 10
ааа...не заметил...vbnet.Sorry)
0
169 / 149 / 14
Регистрация: 13.07.2011
Сообщений: 477
06.01.2012, 00:10 11
блин, когда писал не впастил..вот эти 1, 1, то есть место может быть и в левом верхнем углу - а вот размеры (3 и4 параметры) поболее сделай Pens.Black, pnt.X, pnt.Y, 10, 10)

и ваще чтобы сразу увидеть то так
VB.NET
1
g.FillEllipse(Brushes.Black, pnt.X, pnt.Y, 10, 10)
1
12 / 12 / 0
Регистрация: 03.10.2011
Сообщений: 343
06.01.2012, 00:13  [ТС] 12
блин...и опять ничего...
VB.NET
1
2
3
Dim pntf As New PointF(10.5F, 25.5F)
        Dim pnt As Point = Point.Truncate(pntf)
        pnt.Offset(5, -10)
А это ваще надо? (ну pnt надо, как я понимаю).
просто все равно ноль толку(
0
169 / 149 / 14
Регистрация: 13.07.2011
Сообщений: 477
06.01.2012, 00:14 13
ты хочешь то чего в итоге обрисуй?
0
12 / 12 / 0
Регистрация: 03.10.2011
Сообщений: 343
06.01.2012, 00:16  [ТС] 14
в общем я по учебнику делаю...но я там не догнал, как определять рисунки.. то есть команду какой нибудь фигуры написал, нарисовал ее командами, но этого мало...
У меня вот есть кусок кода, который я написал в самом начале. По идее этот код создает точку и перемещает ее (так написано в учебнике). ну и как я понимаю, то надо что то написать в самом начале.чтобы эта точка появилась...определить графический фрагемент..
0
169 / 149 / 14
Регистрация: 13.07.2011
Сообщений: 477
06.01.2012, 00:20 15
Truncate усекает границы, что то вроде как преобразовывать Double в Integer, то есть останется только целая часть числа, так же и с координатами точки

Добавлено через 4 минуты
ну вот попробуй, будет рисунок? если нет - то разверни форму на макс
VB.NET
1
2
3
4
        Dim pntf As New PointF(10.5F, 25.5F)
        Dim g As Graphics = CreateGraphics() 'Рисовать на PictureBox1
        g.Clear(Color.White) 'Очистить белым цветом
        g.FillEllipse(Brushes.Black, pntf.X, pntf.Y, 10, 10) 'Нарисовать черный эллипс
ты в каком или на каком элементе рисуешь? на форме или пикчере? что то я запутался
1
12 / 12 / 0
Регистрация: 03.10.2011
Сообщений: 343
06.01.2012, 00:21  [ТС] 16
когда стали писать про пикчер - я писал на пикчере. а до этого на форме писал
0
169 / 149 / 14
Регистрация: 13.07.2011
Сообщений: 477
06.01.2012, 00:22 17
приведи полный свой код
0
12 / 12 / 0
Регистрация: 03.10.2011
Сообщений: 343
06.01.2012, 00:22  [ТС] 18
да. нарисовалось)))Спасибо))

Добавлено через 51 секунду
VB.NET
1
2
3
 Dim pntf As New PointF(10.5F, 25.5F)
        Dim pnt As Point = Point.Truncate(pntf)
        pnt.Offset(5, -10)
Изначально был такой... Но еще код должен точку перемещать...
0
169 / 149 / 14
Регистрация: 13.07.2011
Сообщений: 477
06.01.2012, 00:26 19
и чего ты изменил?(мне интересно)
1
12 / 12 / 0
Регистрация: 03.10.2011
Сообщений: 343
06.01.2012, 00:28  [ТС] 20
VB.NET
1
2
3
4
5
6
    Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
        Dim pntf As New PointF(10.0F, 1)
        Dim g As Graphics = CreateGraphics() 
        g.Clear(Color.White)
        g.FillEllipse(Brushes.Black, pntf.X, pntf.Y, 10, 10) 
    End Sub
ну вот сейчас вот так. Точку рисует
0
06.01.2012, 00:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.01.2012, 00:28
Помогаю со студенческими работами здесь

Как это можно реализовать
Напишите программу, предлагающую пользователю ввести три целых числа, а затем вывести их в порядке...

Как это можно реализовать
Помогите пожалуйста, как можно это реализовать, в делфи не очень разбираюсь

Как можно реализовать это?
Здравствуйте, подскажите, как можно реализовать это? Мб какой плагин есть похожий?

Как это можно реализовать?
Строка состоит из слов, разделенных ровно одним пробелом, пробелов перед первым и после последнего...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru