This shows you the differences between two versions of the page.
gp:laboratoare:01 [2025/02/05 12:27] maria_anca.balutoiu [Biblioteci Utile] |
gp:laboratoare:01 [2025/02/05 12:59] (current) maria_anca.balutoiu [Tasks] |
||
---|---|---|---|
Line 55: | Line 55: | ||
</code> | </code> | ||
- | <hidden> | + | <code> |
+ | import pygame | ||
- | Pygame este o bibliotecă open-source pentru Python, concepută pentru dezvoltarea de jocuri video și aplicații multimedia. Aceasta oferă module pentru gestionarea graficii, sunetului și interacțiunii cu utilizatorul, facilitând crearea de jocuri 2D și alte aplicații interactive. | + | # Initialize Pygame |
- | PYGAME.READTHEDOCS.IO | + | pygame.init() |
- | Istoric și Dezvoltare: | + | # Set window properties |
+ | width, height = 800, 600 | ||
+ | screen = pygame.display.set_mode((width, height)) | ||
+ | pygame.display.set_caption('Pygame Example') | ||
- | Lansată inițial în octombrie 2000, Pygame a fost creată pentru a înlocui proiectul PySDL, al cărui dezvoltare stagnase. De-a lungul anilor, Pygame a evoluat semnificativ, iar în octombrie 2020, cu ocazia celei de-a 20-a aniversări, a fost lansată versiunea 2.0, aducând îmbunătățiri notabile și suport extins pentru diverse platforme. | + | # Set the drawing colors |
- | EN.WIKIPEDIA.ORG | + | white = (255, 255, 255) |
+ | red = (255, 0, 0) | ||
- | Caracteristici Cheie: | + | # Set the coordinates and the dimensions of the square |
+ | x, y = 100, 100 # Upper-left corner | ||
+ | length = 50 # Length of the square | ||
- | Grafică: Pygame permite desenarea de forme, imagini și animații, oferind suport pentru manipularea pixelilor și transformări grafice. | + | running = True |
+ | while running: | ||
+ | for event in pygame.event.get(): | ||
+ | if event.type == pygame.QUIT: | ||
+ | running = False | ||
- | Sunet: Biblioteca include funcționalități pentru redarea și controlul sunetelor și muzicii, permițând integrarea efectelor sonore și a coloanelor sonore în aplicații. | + | # Set background color |
+ | screen.fill(white) | ||
- | Evenimente și Interacțiune: Gestionarea intrărilor de la tastatură, mouse și alte dispozitive de interacțiune este simplificată, facilitând crearea de interfețe interactive. | + | # Draw a square |
+ | pygame.draw.rect(screen, red, (x, y, length, length)) | ||
- | Gestionarea Sprite-urilor: Pygame oferă suport pentru gestionarea sprite-urilor și a coliziunilor, esențiale în dezvoltarea jocurilor. | + | # Update the screen |
- | + | pygame.display.flip() | |
- | Comunitate și Resurse: | + | </code> |
- | + | ||
- | Comunitatea Pygame este activă și oferă numeroase resurse, inclusiv tutoriale, documentație și exemple de cod, pentru a ajuta dezvoltatorii să înceapă și să își îmbunătățească proiectele. | + | |
- | PYGAME.READTHEDOCS.IO | + | |
- | + | ||
- | Pentru a începe cu Pygame, este recomandat să aveți cunoștințe de bază în Python. Instalarea se poate realiza folosind managerul de pachete pip: | + | |
- | + | ||
- | bash | + | |
- | Copiază | + | |
- | Editează | + | |
- | pip install pygame | + | |
- | După instalare, puteți crea o fereastră simplă și un ciclu de joc pentru a începe dezvoltarea propriului joc sau aplicație multimedia. | + | |
=== Pillow === | === Pillow === | ||
- | Pillow este o bibliotecă open-source pentru limbajul de programare Python, destinată procesării și manipulării imaginilor. Aceasta este o continuare a proiectului original Python Imaging Library (PIL), care a fost întrerupt în 2011. Pillow a fost creată pentru a oferi suport actualizat și compatibilitate cu versiunile moderne de Python. | + | Pillow este o bibliotecă open source pentru Python, destinată procesării și manipulării imaginilor. |
- | EN.WIKIPEDIA.ORG | + | |
- | Caracteristici principale: | + | Ce putem face cu Pillow: |
+ | * **Suport extins pentru formate de fișiere.** Pillow poate deschide, manipula și salva o varietate largă de formate de imagine, inclusiv JPEG, PNG, BMP, GIF și TIFF. | ||
+ | * **Manipularea imaginilor.** Biblioteca permite efectuarea de operațiuni precum redimensionarea, decuparea, rotirea și aplicarea de filtre sau efecte asupra imaginilor. | ||
+ | * **Acces la nivel de pixel.** Pillow oferă posibilitatea de a accesa și modifica valorile individuale ale pixelilor, facilitând manipulări detaliate ale imaginilor. | ||
+ | * **Gestionarea transparenței și a măștilor.** Biblioteca suportă manipularea canalelor alfa și aplicarea măștilor pentru a gestiona transparența în imagini. | ||
- | Suport extins pentru formate de fișiere: Pillow poate deschide, manipula și salva o varietate largă de formate de imagine, inclusiv JPEG, PNG, BMP, GIF și TIFF. | + | Pentru a folosit Pillow, este necesar să importăm biblioteca în proiect: |
- | PILLOW.READTHEDOCS.IO | + | |
- | Manipularea imaginilor: Biblioteca permite efectuarea de operațiuni precum redimensionarea, decuparea, rotirea și aplicarea de filtre sau efecte asupra imaginilor. | + | <code> |
- | REALPYTHON.COM | + | python3 -m pip install pillow |
+ | </code> | ||
- | Acces la nivel de pixel: Pillow oferă posibilitatea de a accesa și modifica valorile individuale ale pixelilor, facilitând manipulări detaliate ale imaginilor. | + | <code> |
- | PILLOW.READTHEDOCS.IO | + | from PIL import Image |
- | Gestionarea transparenței și a măștilor: Biblioteca suportă manipularea canalelor alfa și aplicarea măștilor pentru a gestiona transparența în imagini. | + | # Open image |
- | PILLOW.READTHEDOCS.IO | + | image = Image.open('image.jpg') |
- | Instalare: | + | # Resize image |
+ | resized_image = image.resize((800, 600)) | ||
- | Pentru a instala Pillow, puteți utiliza managerul de pachete pip: | + | # Save the resized image |
+ | resized_image.save('resized_image.jpg') | ||
+ | </code> | ||
+ | ==== Tasks ==== | ||
- | bash | + | <note tip>Pentru a genera un număr random, folosiți biblioteca **random**.</note> |
- | Copiază | + | |
- | Editează | + | |
- | pip install Pillow | + | |
- | Exemplu de utilizare: | + | |
- | Iată un exemplu simplu de cod care deschide o imagine, o redimensionează și o salvează într-un nou fișier: | ||
- | |||
- | python | ||
- | Copiază | ||
- | Editează | ||
- | from PIL import Image | ||
- | |||
- | # Deschide imaginea | ||
- | imagine = Image.open('imagine_initiala.jpg') | ||
- | |||
- | # Redimensionează imaginea | ||
- | imagine_redimensionata = imagine.resize((800, 600)) | ||
- | |||
- | # Salvează imaginea redimensionată | ||
- | imagine_redimensionata.save('imagine_redimensionata.jpg') | ||
- | Pillow este o unealtă puternică și flexibilă pentru dezvoltatorii Python care au nevoie de funcționalități de procesare a imaginilor în aplicațiile lor. Pentru documentație detaliată și ghiduri suplimentare, puteți vizita site-ul oficial al Pillow | ||
- | </hidden> | ||
- | ==== Tasks ==== | ||
- Generați un grid de culori alese aleator. | - Generați un grid de culori alese aleator. | ||
- Generați aleator o hartă 2D folosind simboluri (~ pentru apă, # pentru munți, . pentru câmpii). Folosiți probabilități pentru a asigna tipul de teren generat. | - Generați aleator o hartă 2D folosind simboluri (~ pentru apă, # pentru munți, . pentru câmpii). Folosiți probabilități pentru a asigna tipul de teren generat. | ||
- **Bonus 1.** Modificați primul task astfel încât gridul de culori să se regenereze la apăsarea unei taste. | - **Bonus 1.** Modificați primul task astfel încât gridul de culori să se regenereze la apăsarea unei taste. | ||
- **Bonus 2.** Modificați al doilea task astfel încât să salvați harta de simboluri ca o imagine PNG. | - **Bonus 2.** Modificați al doilea task astfel încât să salvați harta de simboluri ca o imagine PNG. |