🎨 Как Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ: практичСскоС руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… πŸ–ŒοΈ

Π’ ΠŸΠΈΡ‚ΠΎΠ½Π΅, для рисования ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ matplotlib, pillow ΠΈΠ»ΠΈ pygame.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ matplotlib для рисования простой ΠΊΡ€ΡƒΠ³Π»ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ:


import matplotlib.pyplot as plt

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ ΠΈ осСй
fig, ax = plt.subplots()

# РисованиС ΠΊΡ€ΡƒΠ³Π°
circle = plt.Circle((0.5, 0.5), 0.3, color='blue')

# Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΡ€ΡƒΠ³Π° Π½Π° оси
ax.add_patch(circle)

# Установка ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ осСй
ax.set_xlim(0, 1)
ax.set_ylim(0, 1)

# ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ рисунка
plt.show()

Для рисования Π±ΠΎΠ»Π΅Π΅ слоТных ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ с использованиСм Π΄Ρ€ΡƒΠ³ΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ

РисованиС ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ являСтся Π²Π°ΠΆΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ программирования, ΠΈ Π² языкС программирования Python Π΅ΡΡ‚ΡŒ нСсколько способов создания ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ… ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°.

ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ PIL (Pillow)

Pillow - это Ρ„ΠΎΡ€ΠΊ (Ρ€Π°Π·Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅) Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Python Imaging Library (PIL), которая прСдоставляСт мноТСство Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с изобраТСниями. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Pillow, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ pip:

pip install pillow

ПослС установки Pillow Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для создания ΠΈ рСдактирования ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСт Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ рисуСт Π½Π° Π½Π΅ΠΌ ΠΊΡ€ΡƒΠ³:

from PIL import Image, ImageDraw

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ изобраТСния
image = Image.new("RGB", (500, 500), "white")

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ инструмСнта для рисования
draw = ImageDraw.Draw(image)

# РисованиС ΠΊΡ€ΡƒΠ³Π° Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ
draw.ellipse((100, 100, 400, 400), fill="blue", outline="black")

# Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ изобраТСния
image.save("circle.png")

Выполняя этот ΠΊΠΎΠ΄, Π²Ρ‹ создадитС Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 500x500 пиксСлСй ΠΈ нарисуСтС Π½Π° Π½Π΅ΠΌ синий ΠΊΡ€ΡƒΠ³. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ сохраняСтся Π² Ρ„Π°ΠΉΠ» "circle.png".

ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ matplotlib

Matplotlib - это популярная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² Python. Она Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для создания ΠΈ отобраТСния ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ matplotlib, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

pip install matplotlib

Для создания простого изобраТСния Π² matplotlib Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

import matplotlib.pyplot as plt

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°
fig, ax = plt.subplots()

# РисованиС ΠΊΡ€ΡƒΠ³Π°
circle = plt.Circle((0.5, 0.5), 0.3, color='blue', fill=False)
ax.add_artist(circle)

# ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°
plt.show()

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ создаСт Π½ΠΎΠ²Ρ‹ΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊ ΠΈ рисуСт Π½Π° Π½Π΅ΠΌ синий ΠΊΡ€ΡƒΠ³. ΠšΡ€ΡƒΠ³ отобраТаСтся Π±Π΅Π· заполнСния (fill=False). ПослС выполнСния ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΎ ΠΎΠΊΠ½ΠΎ с созданным ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ.

ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ turtle

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° turtle прСдоставляСт простой способ рисования Π² Python с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ графичСского интСрфСйса Π² стилС Ρ‡Π΅Ρ€Π΅ΠΏΠ°ΡˆΠΊΠΈ. Она часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для обучСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π΄Π΅Ρ‚Π΅ΠΉ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ turtle, Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° для рисования ΠΊΡ€ΡƒΠ³Π° с использованиСм turtle:

import turtle

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ экзСмпляра Ρ‡Π΅Ρ€Π΅ΠΏΠ°ΡˆΠΊΠΈ
t = turtle.Turtle()

# РисованиС ΠΊΡ€ΡƒΠ³Π°
t.circle(100)

ЗапуститС этот ΠΊΠΎΠ΄, ΠΈ Ρ‡Π΅Ρ€Π΅ΠΏΠ°ΡˆΠΊΠ° нарисуСт ΠΊΡ€ΡƒΠ³ радиусом 100 пиксСлСй.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли нСсколько способов рисования ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ Π² Python. ΠœΡ‹ использовали Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ PIL (Pillow), matplotlib ΠΈ turtle для создания ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ нарисовали простыС графичСскиС элСмСнты, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΊΡ€ΡƒΠ³ΠΈ. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· этих Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π΅ΡΡ‚ΡŒ свои особСнности ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы настройки. ΠŸΠΎΠ΄Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ‚Ρƒ, которая Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΠΉΡ‚Π΅ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ свои ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ изобраТСния.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

15. РисуСм простыС Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‡Π΅Ρ€Π΅ΠΏΠ°ΡˆΠΊΠΈ (Turtle). ΠžΡΠ½ΠΎΠ²Ρ‹ Python

Π£Ρ€ΠΎΠΊΠΈ Python / ΠœΠΎΠ΄ΡƒΠ»ΡŒ tkinter (Ρ€Π°Π±ΠΎΡ‚Π° с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ)

ΠŸΡ€ΠΎΡΡ‚Π°Ρ анимация Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ #ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ #python

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

Как Π΄ΠΎΡΡ‚Π°Ρ‚ΡŒ элСмСнт ΠΈΠ· массива python: простыС способы для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Какой компилятор Python Π»ΡƒΡ‡ΡˆΠ΅?

πŸ” Как ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ строку Π² txt Ρ„Π°ΠΉΠ» с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python: руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

🎨 Как Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ: практичСскоС руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… πŸ–ŒοΈ

Как ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массив Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΏΠΎ ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ: простоС ΠΈ эффСктивноС руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

πŸ” Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ exe Ρ„Π°ΠΉΠ» Π½Π΅ закрывался Π² Python? πŸ”’

πŸ“± Как Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅: ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… πŸ”₯