Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на BASIC / Visual Basic / Гед Мид. Удачные диаграммы GDI+ Работа с графикой [doc].doc
Скачиваний:
32
Добавлен:
02.05.2014
Размер:
870.4 Кб
Скачать

Шаг 2: Получаем элемент управления

    Диаграмма будет изображаться в PictureBox и рисование будет начинаться после щелчка на кнопке. Настало время добавить эти элементы на форму. Добавьте элемент PictureBox на форму и назовите его PBBarChart. PictureBox должен занимать около 80% поверхности формы. Затем добавьте кнопку где-нибудь на оставшемся свободном месте на форме и назовите ее btnDraw. Цвет фона установите светлым на свой выбор. Мы готовы начать создавать диаграмму.

Повторно используемые значения

    Как мы узнали в Части 1, большая часть процесса рисования форм в Windows требует игр с установкой начальных и конечных точек линий, фигур, текста и т.д. Обычно это происходит, потому что мы руководим построением большей части того, что видит пользователь; поэтому мы должны кодировать точные позиции и размеры всего, что мы создаем.     Подразумевая повторное использование, я включил некоторые переменные в статьи и примеры, и мы будем использовать их для помещения выше указанных значений. Надеюсь, это даст нам два преимущества.     Во-первых, вы легко сможете менять установки, чтобы законченный продукт имел тот вид, который вам хотелось бы. Во-вторых, этот сделает большую часть кода легким для повторения; если мы будем применять понятные названия для наших переменных, то это поможет сделать каждую часть каждого кода понятнее, чем она является на самом деле.

Шаг 3: Установка полей, промежутки и размеры

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

' # пиксели Y-оси вставки PicBox слева

Dim LeftMargin As Integer = 35

' # пиксели оставшиеся неиспользованными справа от PicBox

Dim RightMargin As Integer = 15

' # пиксели над базой picturebox X-ось помещена

Dim BaseMargin As Integer = 35

' Поле вверху

Dim TopMargin As Integer = 10

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

Dim BarGap As Integer = 12

Шаг 4а: Объекты Graphics и Bitmap

    Мы касались объекта Graphics в Части 1 и видели, что к нему можно относиться, как к холсту, на котором мы можем рисовать то, что хотим видеть на поверхности формы или другом элементе управления. Мы рисовали прямо на ней нашу круговую диаграмму.     Так как в этой статье мы будем иметь дело с PictureBox, подход будет немного отличаться. Вот что мы делаем:

  • Объявляем объект Graphics

  • Также создаем объект Bitmap. Этот Bitmap будет того же размера, что и PictureBox и будет приписан объекту Graphics элемента PictureBox

  • Чтобы получить доступ к методам рисования класса Graphics, мы приписываем Bitmap объекту Graphics

  • Когда рисование будет закончено, мы получим Bitmap, который отредактируем графическими инструментами и используем, как изображение в PictureBox’е

    Запутались? Не переживайте! Это кажется сложными только при первой встрече, но скоро все начнет становиться на свои места. В сущности, мы создаем объект Graphics, который имеет ту же форму, размер и разрешение, что и PictureBox. Мы можем позаимствовать это, а позже мы применим наш законченный рисунок, как изображение для PictureBox’а. Весь рисующий код входит в одну процедуру, названную DrawChart. Вот код для указанных выше действий (конечно, это первая часть всей процедуры):

Private Sub DrawChart()

Dim g As Graphics

Dim bmap As Bitmap

bmap = New Bitmap(PBBarChart.Width, PBBarChart.Height, _

PBBarChart.CreateGraphics)

g = Graphics.FromImage(bmap)