Программирование на BASIC / Visual Basic / Visual Basic 6.0 / VB / Лабораторная работа №7 / отчет по лабе №7(графика)
.docФедеральное агентство по образованию
Государственное образовательное учреждение высшего профессионального образования
Уфимский государственный авиационно-технический университет
Кафедра информатики
Отчет по лабораторной работе №7
По теме: Работа графикой.
Выполнил: Гайсин А.С.
АД-127
Проверил: Левков А.А.
УФА 2007
Цель работы: Целью работы является изучение возможностей разработки графических приложений.
Задание 1: Построить график функции Y=3*x2 на отрезке [-5, 5]
Код:
Private Sub Command1_Click()
Picture1.Scale (-10, 15)-(10, -15)
For i = -10 To 10
Picture1.Line (i, -15)-(i, 15), RGB(200, 220, 225)
Picture1.PSet (i, 0)
Picture1.Print i
Next
For i = -5 To 5
Picture1.Line (-10, i)-(10, i), RGB(200, 220, 225)
Picture1.PSet (0, i)
Picture1.Print i
Next
Picture1.Line (-10, 0)-(10, 0), QBColor(8)
Picture1.Line (0, -15)-(0, 15), QBColor(8)
For x = -3 To 3 Step 0.01
y = 3 * x ^ 2
Picture1.PSet (x, y), vbgreen
Next
End Sub
Задание 2: Создайте проект и напишите программу "Светофор", позволяющую по нажатию кнопки "включать" заданный свет светофора.
Код: Private Sub Form_Activate() Picture1.Circle (450, 500), 300, RGB(255, 0, 0) Picture1.Circle (450, 1200), 300, RGB(255, 255, 0) Picture1.Circle (450, 1900), 300, RGB(0, 255, 0) End Sub Private Sub Command1_Click() Picture1.FillColor = &H8000000F Picture1.FillStyle = 0 Picture1.Circle (450, 1200), 300, RGB(255, 255, 0) Picture1.Circle (450, 1900), 300, RGB(0, 255, 0) Picture1.FillColor = QBColor(12) Picture1.FillStyle = 0 Picture1.Circle (450, 500), 300, RGB(255, 0, 0) End Sub Private Sub Command2_Click() Picture1.FillColor = &H8000000F Picture1.FillStyle = 0 Picture1.Circle (450, 500), 300, RGB(255, 0, 0) Picture1.Circle (450, 1900), 300, RGB(0, 255, 0) Picture1.FillColor = QBColor(14) Picture1.FillStyle = 0 Picture1.Circle (450, 1200), 300, RGB(255, 255, 0) End Sub Private Sub Command3_Click() Picture1.FillColor = &H8000000F Picture1.FillStyle = 0 Picture1.Circle (450, 500), 300, RGB(255, 0, 0) Picture1.Circle (450, 1200), 300, RGB(255, 255, 0) Picture1.FillColor = QBColor(10) Picture1.FillStyle = 0
Picture1.Circle (450, 1900), 300, RGB(0, 255, 0)
End Sub
Задание 3: Создайте проект и напишите программу рисования треугольников и колец и вычисляющую площади нарисованных фигур.
Код: Private ring As Boolean
Private i As Integer
Private col As Long
Private rc, tc, lc, ac, R1, R2, p, a, b, c, pi As Double
Private arx(1 To 3), ary(1 To 3) As Double
Private Sub Command1_Click()
Picture1.Cls
rc = 0
tc = 0
lc = 0
ac = 0
Call printc
i = 1
Option4.Enabled = True
Option5.Enabled = True
End Sub
Private Sub Form_Load()
Picture1.Cls
Option4.Enabled = True
Option5.Enabled = True
Option4.Value = True
col = RGB(255, 0, 0)
ring = True
i = 1
pi = 3.1415926
rc = 0
tc = 0
lc = 0
ac = 0
p = 0
Call printc
End Sub
Private Sub printc()
Label5.Caption = Str(rc)
Label6.Caption = Str(tc)
Label7.Caption = Str(lc)
Label8.Caption = Str(ac)
End Sub
Private Sub Option4_Click()
ring = True
End Sub
Private Sub Option5_Click()
ring = False
End Sub
Private Sub Picture1_MouseDown(button As Integer, shift As Integer, x As Single, y As Single)
Option4.Enabled = False
Option5.Enabled = False
arx(i) = x
ary(i) = y
'Picture1.Circle (arx(i), ary(i)), 5, col
Picture1.PSet (arx(i), ary(i)), col
i = i + 1
If i > 3 Then
If ring Then
R1 = Sqr(Abs((arx(1) - arx(2)) ^ 2 + (ary(1) - ary(2)) ^ 2))
R2 = Sqr(Abs((arx(1) - arx(3)) ^ 2 + (ary(1) - ary(3)) ^ 2))
Picture1.Circle (arx(1), ary(1)), R1, col
Picture1.Circle (arx(1), ary(1)), R2, col
lc = Abs((R1 ^ 2) - (R2 ^ 2)) * pi
rc = rc + lc
Else
Picture1.Line (arx(1), ary(1))-(arx(2), ary(2)), col
Picture1.Line (arx(1), ary(1))-(arx(3), ary(3)), col
Picture1.Line (arx(2), ary(2))-(arx(3), ary(3)), col
a = Sqr((arx(1) - arx(2)) ^ 2 + (ary(1) - ary(2)) ^ 2)
b = Sqr((arx(1) - arx(3)) ^ 2 + (ary(1) - ary(3)) ^ 2)
c = Sqr((arx(3) - arx(2)) ^ 2 + (ary(3) - ary(2)) ^ 2)
p = (a + b + c) / 2
lc = Sqr(p * (p - a) * (p - b) * (p - c))
tc = tc + lc
End If
ac = tc + rc
Call printc
i = 1
Option4.Enabled = True
Option5.Enabled = True
End If
End Sub
Задание 4: Создайте проект, позволяющий просматривать графические файлы, спроектируйте свою форму (рабочее окно) программы просмотра графических файлов. Используйте различные варианты поиска и открытия файла.
Код: Private Sub Form_Load()
CommonDialog1.Filter = "Pictures(*.bmp,*.jpg,*.gif )|*.bmp;*.jpg;*.gif "
End Sub
Private Sub Command1_Click()
CommonDialog1.ShowOpen
Set Picture1.Picture = LoadPicture(CommonDialog1.FileName)
End Sub
Private Sub Command2_Click()
Picture1.Picture = LoadPicture
End Sub
Private Sub Command3_Click()
End
End Sub
Вывод: мы изучили графические возможности VB, а также выполнили индивидуальные и общие задания. Написали программу рисования треугольников и колец и вычисляющую площади нарисованных фигур и программу просто отражающую графические изображения.