Как рисовать узоры в Visual Basic 6.0? - VB
Формулировка задачи:
Помогите, пожалуйста. Почему у меня ничего не получается? В чём дело?
Вроде бы Visual Basic 6.0 уже существует давным-давно. Должно быть много интересных наработок в Интернете. Как бы не так?!
По запросу Google:
Тот же код в Авторстве:
Как рисовать узоры в Visual Basic 6.0?
— Нет ничего путного! Ни одного толкового энтузиаста, который поясняет суть техники исполнения. Если кого заинтересует, то знаю три источника, где можно скачать дистрибутивы Visual Basic 6.0! Начиная от образа ISO (617 Mb — getintopc.com), сейчас пользуюсь VB98, и заканчивая Portable ZIP (28.8 Мb — twirpx.com). Использую ключ, по наитию: 111 — 11111111 Есть автор Скляревский, смотрите: Картинки с фрагментом кода - подключайтесь! http://arbuz.uz/x_galerea1.html Взял на пробу самый верхний рисунок "капля", в сиренево-розовых тонах. Смотрите ниже. Авторский (Скляревский
) код, копия ниже. Почему не работает на VB98?
Листинг программы
- Dim r1 As Integer, r As Integer, pi As Single, x As Single, y As Single
- Private Sub Комманда1_Click()
- Cls
- pi = 4 * Atn(1)
- DrawWidth = 2: n = 30
- For j = 1 To n
- x = Rnd * 500 + 150: y = Rnd * 300 + 20
- r1 = 9 * (n - j) + 10: kaplya
- Next j
- End Sub
- Private Sub kaplya()
- For i = 0 To pi / 2 Step 0.001
- r = r1 * Sin(i) ^ 3
- Line (r * Cos(i) + x - i * 70, r * Sin(i) + y)-(-r * Cos(-i) _
- + x - i * 70, -r * Sin(-i) + y), _
- RGB(Abs(r), _
- Abs(255 - i * 220), _
- Abs(255 - i * 320))
- Next i
- End Sub
- Private Sub Комманда2_Click()
- End
- End Sub
Petr_S
для VB.NET. Отлично работает на VSC-2013!
Листинг программы
- Public Class Form1
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- Me.Size = New Size(700, 500)
- End Sub
- Private Sub Form1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
- Dim r1 As Integer, r As Integer, pi As Single, x As Single, y As Single
- pi = 4 * Math.Atan(1)
- Dim DrawWidth As Integer = 2
- Dim n As Integer = 30
- For j = 1 To n
- x = Rnd() * 500 + 150
- y = Rnd() * 300 + 20
- r1 = 9 * (n - j) + 10
- Dim p As New Pen(Color.White, 1)
- For i = 0 To pi / 2 Step 0.001
- r = r1 * Math.Sin(i) ^ 3
- p.Color = Color.FromArgb(Math.Min(Math.Abs(r), 255), _
- Math.Min(Math.Abs(255 - i * 220), 255), _
- Math.Min(Math.Abs(255 - i * 320), 255))
- e.Graphics.DrawLine(p, _
- New Point(r * Math.Cos(i) + x - i * 70, r * Math.Sin(i) + y), _
- New Point(-r * Math.Cos(-i) + x - i * 70, -r * Math.Sin(-i) + y))
- Next i
- Next j
- End Sub
- End Class
Прошу объяснить этот фокус
. В каких мелочах спрятался дьвол? Уже неделю бьюсь.Решение задачи: «Как рисовать узоры в Visual Basic 6.0?»
textual
Листинг программы
- Option Explicit
- '# Сам новичок, поэтому вначале: расписываю всё тщательно, как предлагает Diamock.
- '# Когда освоюсь, буду писать кратко.
- '# По совету SoftIce устанавливаю ScaleMode=3-Pixel.
- '# Устанавливаем тёмный фон (подложку) BackColor: &H80000 Menu Text.
- '# Неясно: то ли Willi2001 наловчился, то ли новая версия 9782 сказывается, поздно ночью установил.
- '# Кнопку CommandButton2 удалил - пятое колесо. Новички не забывайте нажимать "Пуск".
- '# Иногда приходится подбирать размер рамки экрана вручную.
- Dim r1 As Integer
- Dim r As Integer
- Dim pi As Single
- Dim x As Single
- Dim y As Single
- Dim i As Single
- Private Sub kaplya()
- Dim i As Single
- For i = 10 To pi * 58 Step 0.0007
- r = r1 + i * 1.2 + 0.37 * i * Sin(i * i) ^ 5
- Line (r * Cos(i) + x - i * 0.95, r * Sin(i) + y)-(r * Cos(i) + x - i * 0.95, r * Sin(i) + y), _
- RGB(Abs(256 * Sin(r / 15)), _
- Abs(255 - Sin(i * 17) * 256), _
- Abs(255 - i * r * 0.005))
- Next i
- End Sub
- Private Sub Command1_Click()
- Cls
- pi = 4 * Atn(1)
- DrawWidth = 2
- x = 450: y = 250
- r1 = 1: kaplya
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д