annstasi

drawbot_Задание2

Dec 3rd, 2023
1,254
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.37 KB | None | 0 0
  1. from drawbot_skia.drawbot import *
  2.  
  3. # зададим правила для выбора
  4. # фигуры, которые будем позже
  5. # использовать:
  6. rules = [1, 0, 1, 0, 2, 0, 1, "гусь", 3, 3] * 20
  7. # список * 20
  8. w, h = 742.5, 1050
  9. newPage(w, h)
  10.  
  11. # определим поля и начальные
  12. # координаты
  13. margin = 80
  14. x = margin
  15. y = h - margin
  16.  
  17. # шаг = (ширина страницы - 2  поля (правое и левое)) / на 6 (6 фигур в строке)
  18. step = (w - margin * 2) / 6
  19.  
  20. # создадим переменную size,
  21. # равную выбранному шагу
  22. size = step
  23.  
  24. for rule in rules:
  25.     fill(0)
  26.     stroke(None)
  27.     # круг
  28.     if rule == 0:
  29.         oval(x, y - step, size, size)
  30.     # квадрат
  31.     elif rule == 1:
  32.         rect(x, y - step, size, size)
  33.     # окружность
  34.     elif rule == 2:
  35.         fill(None)
  36.         stroke(0, 0, 0)
  37.         strokeWidth(3)
  38.         oval(x, y - step, size, size)
  39.     # квадрат с красной рамкой
  40.     elif rule == 3:
  41.         fill(None)
  42.         stroke(1, 0, 0)
  43.         strokeWidth(3)
  44.         rect(x, y - step, size, size)
  45.     else:
  46.         print(rule, "<— неизвестное правило")
  47.  
  48.     # сдвинем x на шаг
  49.     x += step
  50.  
  51.     # если строка кончилась,
  52.     # вернём x в начало, а
  53.     # y сдвинем вниз на шаг
  54.     if x >= w - margin:
  55.         x = margin
  56.         y -= step
  57.  
  58.     # если y дошёл до низа
  59.     # страницы, создадим новую и
  60.     # обнулим координаты
  61.     if y - step < margin:
  62.         newPage(w, h)
  63.         x = margin
  64.         y = h - margin
  65.  
  66. # сохраним pdf
  67. saveImage("summary_2_example.pdf")
  68.  
  69.  
  70. #############
  71. # задание 1 #
  72. #############
  73.  
  74. # перепишите последний пример
  75. # так, чтобы в нём появилась
  76. # обработка правила "2",
  77. # рисующая контурный круг
  78.  
  79.  
  80. ##########################
  81. # задание 2              #
  82. # творческое, свободное  #
  83. ##########################
  84.  
  85. # можете использовать результат
  86. # задания 1 как основу, или
  87. # попробовать написать что-то
  88. # новое
  89.  
Advertisement
Add Comment
Please, Sign In to add comment