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, перейдите по этой ссылке.
Архив новостей
Будь в теме
Внешние HDD на VBNet.Su
VBNet.Su рекомендуетWD 1 Tb, внешний жесткий диск, USB (WDH2U10000E)
Двухдисковый накопитель WD My Book Mirror Edition с зеркальным RAID-массивом WD My Book Mirror Edition помогает вам защитить особо важные данные. Эта модель, обеспечивающая постоянную защиту данных при помощи RAID-массива, комплектующаяся ... подробнее..
Цена: 6590 руб. КУПИТЬ
Партнеры
Kbyte.Ru OZON.ru
Счетчики
Рассылка 'Visual Basic .NET - новости, коды, статьи, форум'
Коды / Графика/GDI+ /

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

Автор: jmcilhinney | добавлено: 17 декабря 2008 / 11:15 | просмотров: 6792 (+6209)
Простой пример рисования линий мышкой на 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 | просмотров: 4455 (+3823)
Пример прямого и обратного преобразования значений каналов RGB в "HTML-код" не прибегая к ColorTranslaror.

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

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

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

Visual Basic .NET (Framework x.x) Как узнать размер строки?
Автор: VBNet.Su | добавлено: 16 декабря 2008 / 08:34 | просмотров: 2454 (+2152)
Узнать размер строки можно при помощи метода MeasureString. В данном примере представлено два варианта использования этого метода.
У нас есть
Мозолистые пальцы
Всего:1180
С ногами:2360
Красные глаза
Всего:236
Левых:118
Правых:118
Горячие мозги
Всего:118
Левых:1
Правых:27
Еще какие-то:90
Сегодня сказали
Сегодня еще никто ничего не говорил :-(
Архив сказанного ранее
Букварь всему голова
Книги на VBNet.SuПонятно о Visual Basic.NET. Самоучитель
Книга рассчитана на две категории читателей: на начинающих программистов, в том числе даже на тех читателей, которые в своей жизни не запрограммировали ни строчки и просто хотят научиться программировать, и на программистов со средним опытом ... подробнее..
Автор: С. Н. Лукин
Цена: 307 руб. КУПИТЬ
Все книги на 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+
Все пользователи


Реклама: