Table des matières
Pygame's Draw
绘制矩形
绘制多边形
 绘制圆形
 绘制椭圆形
 绘制圆弧曲线
绘制直线
 绘制多条直线
pygame.draw.aalines(surface, color, closed, pointlist, blend=1)
Copier après la connexion
🎜La description du paramètre est la suivante : 🎜
Dessine un cercle
Dessiner une ellipse
Dessiner des courbes d'arc
Trace une ligne droite
Tracez plusieurs lignes droites
Maison développement back-end Tutoriel Python Comment utiliser la méthode de dessin Draw de Pygame en Python

Comment utiliser la méthode de dessin Draw de Pygame en Python

Apr 19, 2023 pm 04:46 PM
python pygame draw

Pygame's Draw

Pygame fournit un module de dessin pour dessiner des formes graphiques simples, telles que des rectangles, des polygones, des cercles, des lignes droites, des arcs, etc.

Les méthodes courantes du module pygame.draw sont présentées dans le tableau suivant :

pygame.draw.rect() 
Nom Description
pygame.draw.rect() 绘制矩形
pygame.draw.polygon()  绘制多边形
pygame.draw.circle()  根据圆心和半径绘制圆形
pygame.draw.ellipse()  绘制一个椭圆形
pygame.draw.arc()  绘制弧线(挥着椭圆的一部分)
pygame.draw.line()  绘制线段(直线)
pygame.draw.lines()  绘制多条连续的线段
pygame.draw.aaline()  绘制一条平滑的线段(抗锯齿)
pygame.draw.aalines()  绘制多条连续的线段

表格中的函数使用方法大同小异,它们都可以在 Surface 对象上绘制一些简单的形状,返回值是一个 Rect 对象,表示实际绘制图形的矩形区域。上述绘图函数都提供了一个 color 参数,我们可以通过以下三种方式来传递 color 参数值:

  • pygame.color 对象

  • RGB 三元组

  • RGBA 四元组

下面通对上述一些方法的参数进行详细说明:

绘制矩形

绘制矩形的语法格式如下:

pygame.draw.rect(surface, color, rect, width)
Copier après la connexion

参数说明如下:

  • surface :指主游戏窗口,无特殊情况,一般都会绘制在主屏幕上;

  • color :该参数用于该图形着色;

  • rect :绘制图形的位置和尺寸大小;

  • width :可选参数,指定边框的宽度,默认为 0,表示填充该矩形区域。

注意,当 width > 0 时,表示线框的宽度;而 width < 0 时,此时不会绘制任何图形。

绘制多边形

pygame.draw.polygon(surface, color, points, width)
Copier après la connexion

参数说明如下

  • points: 一个列表参数,它表示组成多边形顶点的 3 或者多个 (x,y) 坐标,通过元组或者列表来表示这些多边形顶点。

  • 其余参数与上述函数相同。

绘制圆形

pygame.circle(surface, color, pos, radius, width=0)
Copier après la connexion

参数说明如下

  • pos :该参数用来指定的圆心位置;

  • radius :用来指定圆的半径;

  • 其余参数与上述函数相同。

绘制椭圆形

pygame.draw.ellipse(surface, color, Rect, width=0)
Copier après la connexion

绘制椭圆形的过程,其实就是在矩形区域内部(Rect)绘制一个内接椭圆形

参数说明如下

  • 其余参数与上述函数相同。

绘制圆弧曲线

pygame.draw.arc(Surface, color, Rect, start_angle, stop_angle, width=1)
Copier après la connexion

绘制椭圆形的过程,其实就是在矩形区域内部(Rect)绘制一个内接椭圆形
参数说明如下

  • start_angle : 是该段圆弧的起始角度;

  • stop_angle : 是终止角度;

  • 其余参数与上述函数相同。

绘制直线

pygame.draw.line(surface, color, start_pos, end_pos, width=1)
Copier après la connexion

参数说明如下

  • start_pos : 是该线段的开始位置;

  • end_pos : 是该线段的结束位置;;

  • 其余参数与上述函数相同。

如果是绘制一条消除锯齿的平滑线,此时则使用 blend = 1 参数,如下所示:

pygame.aaline(surface, color, startpos, endpos, blend=1)
Copier après la connexion

blend 参数表示通过绘制混合背景的阴影来实现抗锯齿功能。

绘制多条直线

参数说明如下

  • pointlist : 参数值为列表,包含了一些列点坐标的列表;

  • closed Dessinez un rectangle

  • pygame.draw.polygon()

    Dessinez des polygones

pygame.draw.circle() < /td>

Dessinez un cercle en fonction du centre et du rayon

pygame.draw.ellipse()

Dessinez une ellipse

🎜🎜pygame.draw.arc() 🎜Dessiner un arc (en agitant une partie de l'ellipse)🎜🎜🎜pygame.draw.line() 🎜Dessiner des segments de ligne (lignes droites)🎜🎜🎜pygame.draw.lines() 🎜Dessiner plusieurs segments de ligne continue🎜🎜🎜 pygame.draw.aaline() 🎜Dessiner un segment de ligne lisse (anti-aliasing) 🎜🎜🎜pygame.draw.aalines() 🎜Dessinez plusieurs segments de ligne continue🎜🎜Les méthodes d'utilisation des fonctions du tableau sont similaires. Elles peuvent toutes dessiner des formes simples sur la surface. objet. La valeur de retour est un objet Rect, représentant la zone rectangulaire où le graphique est réellement dessiné. Les fonctions de dessin ci-dessus fournissent toutes un paramètre de couleur. Nous pouvons transmettre la valeur du paramètre de couleur des trois manières suivantes : 🎜
    🎜🎜pygame.color object🎜 🎜🎜🎜RVB Triplets🎜🎜🎜🎜RGB Quadruples🎜🎜🎜🎜Les paramètres de certaines des méthodes ci-dessus sont expliqués en détail ci-dessous : 🎜

    Dessiner un rectangle< /h4>🎜Le format de syntaxe pour dessiner un rectangle est le suivant : 🎜
    pygame.draw.aalines(surface, color, closed, pointlist, blend=1)
    Copier après la connexion
    🎜La description du paramètre est la suivante : 🎜
      🎜🎜surface : fait référence à la fenêtre principale du jeu, aucun Dans des cas particuliers, il est généralement dessiné sur l'écran principal 🎜🎜🎜🎜color : Ce paramètre est utilisé pour colorer le graphique 🎜🎜🎜🎜rect ;  : La position et la position du graphique dessiné. Taille ; 🎜🎜🎜🎜width : Paramètre facultatif, spécifiant la largeur de la bordure, la valeur par défaut est 0, ce qui signifie remplir la zone rectangulaire. 🎜🎜🎜
      🎜Notez que lorsque la largeur > 0, cela indique la largeur du filaire et lorsque la largeur < 🎜

      Dessiner un polygone

      import pygame
      from math import pi
      
      # 初始化
      pygame.init()
      # 设置主屏幕大小
      size = (500, 450)
      screen = pygame.display.set_mode(size)
      # 设置标题
      pygame.display.set_caption("Python自学网")
      # 设置一个控制主循环的变量
      done = False
      # 创建时钟对象
      clock = pygame.time.Clock()
      while not done:
          # 设置游戏的fps
          clock.tick(10)
          for event in pygame.event.get():
              if event.type == pygame.QUIT:
                  done = True  # 若检测到关闭窗口,则将done置为True
          # 绘制一条宽度为 3 的红色对角线
          pygame.draw.line(screen, (0, 255, 0), [0, 0], (500, 450), 3)
          # 绘制多条蓝色的直线(连续直线,非抗锯齿),False 表示首尾不相连
          pygame.draw.lines(screen, (0, 0, 255), False, [[0, 80], [50, 90], [200, 80], [220, 30]], 1)
          # 绘制一个灰色的矩形区域,以灰色填充区域
          pygame.draw.rect(screen, (155, 155, 155), (75, 10, 50, 20), 0)
          # 绘制一个线框宽度为2的矩形区域
          pygame.draw.rect(screen, (0, 0, 0), [150, 10, 50, 20], 2)
          # 绘制一个椭圆形,其线宽为2
          pygame.draw.ellipse(screen, (255, 0, 0), (225, 10, 50, 20), 2)
          # 绘制一个实心的红色椭圆形
          pygame.draw.ellipse(screen, (255, 0, 0), (300, 10, 50, 20))
          # 绘制一个绿色边框(宽度为2)三角形
          pygame.draw.polygon(screen, (100, 200, 45), [[100, 100], [0, 200], [200, 200]], 2)
          # 绘制一个蓝色实心的圆形,其中[60,250]表示圆心的位置,40为半径,width默认为0
          pygame.draw.circle(screen, (0, 0, 255), [60, 250], 40)
          # 绘制一个圆弧,其中0表示弧线的开始位置,pi/2表示弧线的结束位置,2表示线宽
          pygame.draw.arc(screen, (255, 10, 0), (210, 75, 150, 125), 0, pi / 2, 2)
          # 刷新显示屏幕
          pygame.display.flip()
      # 点击关闭,退出pygame程序
      pygame.quit()
      Copier après la connexion
      🎜Les paramètres sont décrits comme suit🎜
        🎜🎜points : un paramètre de liste, qui représente la composition de 3 coordonnées ou plus (x, y) de sommets de polygone, représentés par des tuples ou des listes. 🎜🎜🎜🎜Les paramètres restants sont les mêmes que la fonction ci-dessus. 🎜🎜🎜

        Dessine un cercle

        rrreee🎜Les paramètres sont expliqués comme suit🎜
          🎜🎜pos : Ce paramètre est utilisé pour spécifiez la position centrale du cercle ;🎜🎜🎜🎜rayon : utilisé pour spécifier le rayon du cercle 🎜🎜🎜🎜Les paramètres restants sont les mêmes que la fonction ci-dessus ; 🎜🎜🎜

          Dessiner une ellipse

          rrreee🎜Le processus de dessin d'une ellipse consiste en fait à dessiner une ellipse inscrite à l'intérieur de la zone rectangulaire (Rect)🎜🎜Les paramètres sont expliqués comme suit🎜
            🎜🎜Les paramètres restants sont les mêmes que la fonction ci-dessus. 🎜🎜🎜

            Dessiner des courbes d'arc

            rrreee🎜Le processus de dessin d'une ellipse consiste en fait à dessiner une ellipse inscrite à l'intérieur de la zone rectangulaire (Rect)
            Les paramètres sont expliqués comme suit🎜
              🎜🎜start_angle : est l'angle de départ de l'arc ; 🎜🎜🎜🎜stop_angle : est l'angle final ; 🎜🎜🎜🎜le reste Les paramètres sont les mêmes que la fonction ci-dessus. 🎜🎜🎜

              Trace une ligne droite

              rrreee🎜Les paramètres sont expliqués comme suit🎜
                🎜🎜start_pos  : est la position de départ du segment de ligne ;🎜🎜 🎜🎜end_pos  : est la position finale du segment de ligne 🎜🎜🎜🎜Les paramètres restants sont les mêmes que la fonction ci-dessus ; 🎜🎜🎜🎜Si vous tracez une ligne lisse pour éliminer l'alias, utilisez le paramètre blend = 1, comme indiqué ci-dessous : 🎜rrreee🎜le paramètre blend indique que la fonction d'anti-aliasing est obtenue en dessinant une ombre de l'arrière-plan mélangé. 🎜

                Tracez plusieurs lignes droites

                🎜La description du paramètre est la suivante🎜
                  🎜🎜pointlist  : La valeur du paramètre est une liste, incluant un certain nombre de points. Liste de coordonnées ; 🎜🎜🎜🎜fermé  : paramètre booléen, s'il est défini sur True, cela signifie que le premier point d'extrémité de la droite et le dernier point d'extrémité de la droite doivent être connecté bout à bout ; 🎜🎜🎜🎜Autres paramètres Identique à la fonction ci-dessus. 🎜🎜🎜🎜Si vous tracez une ligne droite anti-aliasée, utilisez la méthode suivante : 🎜rrreee🎜Sauf que blend = 1 est spécifié, la signification des paramètres restants est la même que celle de la fonction ci-dessus. 🎜🎜La méthode de dessin ci-dessus est démontrée ci-dessous à travers un ensemble d'exemples simples : 🎜rrreee

      Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser les journaux Debian Apache pour améliorer les performances du site Web Comment utiliser les journaux Debian Apache pour améliorer les performances du site Web Apr 12, 2025 pm 11:36 PM

Cet article expliquera comment améliorer les performances du site Web en analysant les journaux Apache dans le système Debian. 1. Bases de l'analyse du journal APACH LOG enregistre les informations détaillées de toutes les demandes HTTP, y compris l'adresse IP, l'horodatage, l'URL de la demande, la méthode HTTP et le code de réponse. Dans Debian Systems, ces journaux sont généralement situés dans les répertoires /var/log/apache2/access.log et /var/log/apache2/error.log. Comprendre la structure du journal est la première étape d'une analyse efficace. 2.

Python: jeux, GUIS, et plus Python: jeux, GUIS, et plus Apr 13, 2025 am 12:14 AM

Python excelle dans les jeux et le développement de l'interface graphique. 1) Le développement de jeux utilise Pygame, fournissant des fonctions de dessin, audio et d'autres fonctions, qui conviennent à la création de jeux 2D. 2) Le développement de l'interface graphique peut choisir Tkinter ou Pyqt. Tkinter est simple et facile à utiliser, PYQT a des fonctions riches et convient au développement professionnel.

PHP et Python: comparaison de deux langages de programmation populaires PHP et Python: comparaison de deux langages de programmation populaires Apr 14, 2025 am 12:13 AM

PHP et Python ont chacun leurs propres avantages et choisissent en fonction des exigences du projet. 1.Php convient au développement Web, en particulier pour le développement rapide et la maintenance des sites Web. 2. Python convient à la science des données, à l'apprentissage automatique et à l'intelligence artificielle, avec syntaxe concise et adaptée aux débutants.

Le rôle de Debian Sniffer dans la détection des attaques DDOS Le rôle de Debian Sniffer dans la détection des attaques DDOS Apr 12, 2025 pm 10:42 PM

Cet article traite de la méthode de détection d'attaque DDOS. Bien qu'aucun cas d'application directe de "Debiansniffer" n'ait été trouvé, les méthodes suivantes ne peuvent être utilisées pour la détection des attaques DDOS: technologie de détection d'attaque DDOS efficace: détection basée sur l'analyse du trafic: identification des attaques DDOS en surveillant des modèles anormaux de trafic réseau, tels que la croissance soudaine du trafic, une surtension dans des connexions sur des ports spécifiques, etc. Par exemple, les scripts Python combinés avec les bibliothèques Pyshark et Colorama peuvent surveiller le trafic réseau en temps réel et émettre des alertes. Détection basée sur l'analyse statistique: en analysant les caractéristiques statistiques du trafic réseau, telles que les données

Comment Debian Readdir s'intègre à d'autres outils Comment Debian Readdir s'intègre à d'autres outils Apr 13, 2025 am 09:42 AM

La fonction ReadDir dans le système Debian est un appel système utilisé pour lire le contenu des répertoires et est souvent utilisé dans la programmation C. Cet article expliquera comment intégrer ReadDir avec d'autres outils pour améliorer sa fonctionnalité. Méthode 1: combinant d'abord le programme de langue C et le pipeline, écrivez un programme C pour appeler la fonction readdir et sortir le résultat: # include # include # include # includeIntmain (intargc, char * argv []) {dir * dir; structDirent * entrée; if (argc! = 2) {

Python et temps: tirer le meilleur parti de votre temps d'étude Python et temps: tirer le meilleur parti de votre temps d'étude Apr 14, 2025 am 12:02 AM

Pour maximiser l'efficacité de l'apprentissage de Python dans un temps limité, vous pouvez utiliser les modules DateTime, Time et Schedule de Python. 1. Le module DateTime est utilisé pour enregistrer et planifier le temps d'apprentissage. 2. Le module de temps aide à définir l'étude et le temps de repos. 3. Le module de planification organise automatiquement des tâches d'apprentissage hebdomadaires.

Certificat NGINX SSL Mise à jour du tutoriel Debian Certificat NGINX SSL Mise à jour du tutoriel Debian Apr 13, 2025 am 07:21 AM

Cet article vous guidera sur la façon de mettre à jour votre certificat NGINXSSL sur votre système Debian. Étape 1: Installez d'abord CERTBOT, assurez-vous que votre système a des packages CERTBOT et Python3-CERTBOT-NGINX installés. Si ce n'est pas installé, veuillez exécuter la commande suivante: Sudoapt-getUpDaSuDoapt-GetInstallCertBotpyThon3-Certerbot-Nginx Étape 2: Obtenez et configurez le certificat Utilisez la commande Certbot pour obtenir le certificat LETSCRYPT et configure

Comment configurer le serveur HTTPS dans Debian OpenSSL Comment configurer le serveur HTTPS dans Debian OpenSSL Apr 13, 2025 am 11:03 AM

La configuration d'un serveur HTTPS sur un système Debian implique plusieurs étapes, notamment l'installation du logiciel nécessaire, la génération d'un certificat SSL et la configuration d'un serveur Web (tel qu'Apache ou Nginx) pour utiliser un certificat SSL. Voici un guide de base, en supposant que vous utilisez un serveur Apacheweb. 1. Installez d'abord le logiciel nécessaire, assurez-vous que votre système est à jour et installez Apache et OpenSSL: SudoaptupDaSuDoaptupgradeSudoaptinsta

See all articles