VBNet.Su - Visual Basic .NET. ASP .NET. Framework .NET.
Новости
26.12.2008 Лимитный инвайт для тех, кто хочет присоединиться к VBNet.Su, но не может :)
vbnet-super
С наступающим!
join

18.12.2008 Увеличен размер поля для подписи. Разрешено использовать некоторые теги HTML.
Изменены правила форума, в подписи разрешено использовать партнерские ссылки. Ссылки в подписи могут использовать только те пользователи, которые разместили обратную ссылку на VBNet.Su на одном из сайтов, указанных в профиле. Проверка обратных ссылок производится в автоматическом режиме. Если у Вас возникнут какие-либо вопросы, обращайтесь к администратору.

15.12.2008 Открылась рассылка VBNet.Su!
Рассылка будет выходить автоматически, несколько раз в неделю. В рассылке будут содержаться последние обновления сайта (аналог RSS). Чтобы подписаться на рассылку VBNet.Su, перейдите по этой ссылке.
Архив новостей
Будь в теме
Ноутбуки на VBNet.Su
VBNet.Su рекомендуетToshiba Satellite L300-144
Ноутбук Toshiba Satellite L300 создан для тех, кому не нужна избыточная функциональность. Так зачем же платить больше? Возможностей этой модели будет достаточно как для уверенной работы со стандартными приложениями (интернет, офис), так и для ... подробнее..
Цена: 19840 руб. КУПИТЬ
Партнеры
Kbyte.Ru OZON.ru
Счетчики
Рассылка 'Visual Basic .NET - новости, коды, статьи, форум'
Коды / Графика/GDI+ /

Простой пример рисования линий

Автор: jmcilhinney | добавлено: 17 декабря 2008 / 11:15 | просмотров: 6697 (+6114)
Простой пример рисования линий мышкой на PictureBox.
  1. Imports System.Drawing
  2.  
  3. Public Class Form1
  4.   '*******************************************************************
  5.   'Простой пример рисования линий
  6.   'Для работы примера необходимо разместить на форме PictureBox1
  7.   'http://vbnet.su - Visual Basic .NET. Статьи. Примеры. Форум.
  8.   '*******************************************************************
  9.  
  10.   'коллекция нарисованных линий
  11.   Private lines As New List(Of Line)
  12.  
  13.   'позиция рисования
  14.   Private start As Point
  15.  
  16.   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  17.     Me.PictureBox1.Image = New Bitmap(Me.PictureBox1.Width, Me.PictureBox1.Height)
  18.   End Sub
  19.  
  20.   Private Sub PictureBox1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown
  21.     'запоминаем место, от куда нужно начинать рисовать
  22.     Me.start = e.Location
  23.   End Sub
  24.  
  25.   Private Sub PictureBox1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseUp
  26.     'запоминаем место, где закончили рисовать
  27.     Dim [end] As Point = e.Location
  28.  
  29.     'создаем новую линию
  30.     Me.lines.Add(New Line(Me.start, [end]))
  31.  
  32.     Dim area As New Rectangle(Math.Min(Me.start.X, [end].X), _
  33.                               Math.Min(Me.start.Y, [end].Y), _
  34.                               Math.Abs(Me.start.X - [end].X), _
  35.                               Math.Abs(Me.start.Y - [end].Y))
  36.  
  37.     area.Inflate(1, 1)
  38.  
  39.     'обновляем PictureBox
  40.     Me.PictureBox1.Invalidate(area)
  41.     Me.PictureBox1.Update()
  42.   End Sub
  43.  
  44.   Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
  45.     'рисуем линии
  46.     Me.DrawLines(e.Graphics)
  47.   End Sub
  48.  
  49.   'сохранить
  50.   Private Sub Save()
  51.     Using g As Graphics = Graphics.FromImage(Me.PictureBox1.Image)
  52.       Me.DrawLines(g)
  53.     End Using
  54.     Me.Clear()
  55.   End Sub
  56.  
  57.   'очистить
  58.   Private Sub Clear()
  59.     Me.lines.Clear()
  60.     Me.PictureBox1.Refresh()
  61.   End Sub
  62.  
  63.   'прорисовка линий
  64.   Private Sub DrawLines(ByVal g As Graphics)
  65.     For Each line As Line In Me.lines
  66.       g.DrawLine(Pens.Black, line.Start, line.End)
  67.     Next line
  68.   End Sub
  69.  
  70. End Class
  71.  
  72. Public Class Line
  73.  
  74.   Private _start As Point
  75.  
  76.   Private _end As Point
  77.  
  78.   Public Property Start() As Point
  79.     Get
  80.       Return Me._start
  81.     End Get
  82.     Set(ByVal value As Point)
  83.       Me._start = value
  84.     End Set
  85.   End Property
  86.  
  87.   Public Property [End]() As Point
  88.     Get
  89.       Return Me._end
  90.     End Get
  91.     Set(ByVal value As Point)
  92.       Me._end = value
  93.     End Set
  94.   End Property
  95.  
  96.   Public Sub New()
  97.     Me.New(Point.Empty, Point.Empty)
  98.   End Sub
  99.  
  100.   Public Sub New(ByVal start As Point, ByVal [end] As Point)
  101.     Me._start = start
  102.     Me._end = [end]
  103.   End Sub
  104.  
  105. End Class
Смотрите также
Visual Basic .NET (Framework x.x) HTML-код цвета без ColorTranslator
Автор: Ігор | добавлено: 25 мая 2009 / 01:42 | просмотров: 4396 (+3764)
Пример прямого и обратного преобразования значений каналов RGB в "HTML-код" не прибегая к ColorTranslaror.

Visual Basic .NET (Framework x.x) Преобразование цвета в целое 32-битовое число и наоборот
Автор: Ігор | добавлено: 24 января 2009 / 04:39 | просмотров: 5472 (+4858)
Как преобразовать цвет в число и наоборот не прибегая к услугам структуры Color?

Visual Basic .NET (Framework x.x) Как получить HTML-код цвета?
Автор: VBNet.Su | добавлено: 16 декабря 2008 / 09:00 | просмотров: 3414 (+3019)
Пример использования класса ColorTranslator для преобразования структуры System.Drawing.Color в HTML-код и обратно.
Примечание. В ранних версиях Framework .NET класс ColorTranslator доступен только после установки последних Service Pack (обновлений).

Visual Basic .NET (Framework x.x) Как преобразовать цвет в число?
Автор: VBNet.Su | добавлено: 16 декабря 2008 / 08:50 | просмотров: 3165 (+2838)
Простой пример демонстрирует использование методов ToArgb и FromArgb структуры System.Drawing.Color, для получения 32-битного числа из цвета, и наоборот, преобразование 32-битного числа обратно в структуру System.Drawing.Color.

Visual Basic .NET (Framework x.x) Как узнать размер строки?
Автор: VBNet.Su | добавлено: 16 декабря 2008 / 08:34 | просмотров: 2422 (+2120)
Узнать размер строки можно при помощи метода MeasureString. В данном примере представлено два варианта использования этого метода.
У нас есть
Мозолистые пальцы
Всего:1180
С ногами:2360
Красные глаза
Всего:236
Левых:118
Правых:118
Горячие мозги
Всего:118
Левых:1
Правых:27
Еще какие-то:90
Сегодня сказали
Сегодня еще никто ничего не говорил :-(
Архив сказанного ранее
Букварь всему голова
Книги на VBNet.SuMicrosoft Visual Basic 6.0 для профессионалов. Шаг за шагом + CD ROM
Популярная серия `Шаг за шагом` предназначена для тех, кто осваивает новые программные продукты на курсах или самостоятельно. Изучив данную книгу, вы пройдете основной курс программирования на Microsoft Visual Basic 6.0. Секрет, как стать ... подробнее..
Автор: Микаэл Хальворсон
Цена: 360 руб. КУПИТЬ
Все книги на VBNet.Su
TOP 10 пользователей
Алексей Немиро65.2275660625+
Ігор47.181654625+
kibernetics16.0390645+
Kolyasik5.9658263125+
rublenko3.734375+
Arseny3.6845703125+
Skywalker2.904296875+
ostgals2.857421875+
5acredphoenix2.708994375+
andrey_z5z2.3857511875+
Все пользователи


Реклама: