Как рисовать узоры в 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?
Листинг программы
  1. Dim r1 As Integer, r As Integer, pi As Single, x As Single, y As Single
  2. Private Sub Комманда1_Click()
  3. Cls
  4. pi = 4 * Atn(1)
  5. DrawWidth = 2: n = 30
  6. For j = 1 To n
  7. x = Rnd * 500 + 150: y = Rnd * 300 + 20
  8. r1 = 9 * (n - j) + 10: kaplya
  9. Next j
  10. End Sub
  11. Private Sub kaplya()
  12. For i = 0 To pi / 2 Step 0.001
  13. r = r1 * Sin(i) ^ 3
  14. Line (r * Cos(i) + x - i * 70, r * Sin(i) + y)-(-r * Cos(-i) _
  15. + x - i * 70, -r * Sin(-i) + y), _
  16. RGB(Abs(r), _
  17. Abs(255 - i * 220), _
  18. Abs(255 - i * 320))
  19. Next i
  20. End Sub
  21. Private Sub Комманда2_Click()
  22. End
  23. End Sub
Тот же код в Авторстве:

Petr_S

для VB.NET. Отлично работает на VSC-2013!
Листинг программы
  1. Public Class Form1
  2. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  3. Me.Size = New Size(700, 500)
  4. End Sub
  5. Private Sub Form1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
  6. Dim r1 As Integer, r As Integer, pi As Single, x As Single, y As Single
  7. pi = 4 * Math.Atan(1)
  8. Dim DrawWidth As Integer = 2
  9. Dim n As Integer = 30
  10. For j = 1 To n
  11. x = Rnd() * 500 + 150
  12. y = Rnd() * 300 + 20
  13. r1 = 9 * (n - j) + 10
  14. Dim p As New Pen(Color.White, 1)
  15. For i = 0 To pi / 2 Step 0.001
  16. r = r1 * Math.Sin(i) ^ 3
  17. p.Color = Color.FromArgb(Math.Min(Math.Abs(r), 255), _
  18. Math.Min(Math.Abs(255 - i * 220), 255), _
  19. Math.Min(Math.Abs(255 - i * 320), 255))
  20. e.Graphics.DrawLine(p, _
  21. New Point(r * Math.Cos(i) + x - i * 70, r * Math.Sin(i) + y), _
  22. New Point(-r * Math.Cos(-i) + x - i * 70, -r * Math.Sin(-i) + y))
  23. Next i
  24. Next j
  25. End Sub
  26. End Class

Прошу объяснить этот фокус

. В каких мелочах спрятался дьвол? Уже неделю бьюсь.

Решение задачи: «Как рисовать узоры в Visual Basic 6.0?»

textual
Листинг программы
  1. Option Explicit
  2.  
  3. '# Сам новичок, поэтому вначале: расписываю всё тщательно, как предлагает Diamock.
  4. '# Когда освоюсь, буду писать кратко.
  5. '# По совету SoftIce устанавливаю ScaleMode=3-Pixel.
  6. '# Устанавливаем тёмный фон (подложку) BackColor: &H80000 Menu Text.
  7. '# Неясно: то ли Willi2001 наловчился, то ли новая версия 9782 сказывается, поздно ночью установил.
  8. '# Кнопку CommandButton2 удалил - пятое колесо. Новички не забывайте нажимать "Пуск".
  9. '# Иногда приходится подбирать размер рамки экрана вручную.
  10.  
  11. Dim r1  As Integer
  12. Dim r   As Integer
  13. Dim pi  As Single
  14. Dim x   As Single
  15. Dim y   As Single
  16. Dim i   As Single
  17.  
  18. Private Sub kaplya()
  19.     Dim i As Single
  20.     For i = 10 To pi * 58 Step 0.0007
  21.         r = r1 + i * 1.2 + 0.37 * i * Sin(i * i) ^ 5
  22.         Line (r * Cos(i) + x - i * 0.95, r * Sin(i) + y)-(r * Cos(i) + x - i * 0.95, r * Sin(i) + y), _
  23.         RGB(Abs(256 * Sin(r / 15)), _
  24.         Abs(255 - Sin(i * 17) * 256), _
  25.         Abs(255 - i * r * 0.005))
  26.     Next i
  27. End Sub
  28.  
  29. Private Sub Command1_Click()
  30.     Cls
  31.     pi = 4 * Atn(1)
  32.     DrawWidth = 2
  33.     x = 450: y = 250
  34.     r1 = 1: kaplya
  35. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.333 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы