This shows you the differences between two versions of the page.
gp:laboratoare:01 [2025/02/05 12:29] 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 | ||
+ | # Initialize Pygame | ||
+ | pygame.init() | ||
- | === Pillow === | + | # Set window properties |
- | 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. | + | width, height = 800, 600 |
- | EN.WIKIPEDIA.ORG | + | screen = pygame.display.set_mode((width, height)) |
+ | pygame.display.set_caption('Pygame Example') | ||
- | Caracteristici principale: | + | # Set the drawing colors |
+ | white = (255, 255, 255) | ||
+ | red = (255, 0, 0) | ||
- | 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. | + | # Set the coordinates and the dimensions of the square |
- | PILLOW.READTHEDOCS.IO | + | x, y = 100, 100 # Upper-left corner |
+ | length = 50 # Length of the square | ||
- | Manipularea imaginilor: Biblioteca permite efectuarea de operațiuni precum redimensionarea, decuparea, rotirea și aplicarea de filtre sau efecte asupra imaginilor. | + | running = True |
- | REALPYTHON.COM | + | while running: |
+ | for event in pygame.event.get(): | ||
+ | if event.type == pygame.QUIT: | ||
+ | running = False | ||
- | Acces la nivel de pixel: Pillow oferă posibilitatea de a accesa și modifica valorile individuale ale pixelilor, facilitând manipulări detaliate ale imaginilor. | + | # Set background color |
- | PILLOW.READTHEDOCS.IO | + | screen.fill(white) |
- | Gestionarea transparenței și a măștilor: Biblioteca suportă manipularea canalelor alfa și aplicarea măștilor pentru a gestiona transparența în imagini. | + | # Draw a square |
- | PILLOW.READTHEDOCS.IO | + | pygame.draw.rect(screen, red, (x, y, length, length)) |
- | Instalare: | + | # Update the screen |
+ | pygame.display.flip() | ||
+ | </code> | ||
- | Pentru a instala Pillow, puteți utiliza managerul de pachete pip: | + | === Pillow === |
+ | Pillow este o bibliotecă open source pentru Python, destinată procesării și manipulării imaginilor. | ||
- | bash | + | Ce putem face cu Pillow: |
- | Copiază | + | * **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. |
- | Editează | + | * **Manipularea imaginilor.** Biblioteca permite efectuarea de operațiuni precum redimensionarea, decuparea, rotirea și aplicarea de filtre sau efecte asupra imaginilor. |
- | pip install Pillow | + | * **Acces la nivel de pixel.** Pillow oferă posibilitatea de a accesa și modifica valorile individuale ale pixelilor, facilitând manipulări detaliate ale imaginilor. |
- | Exemplu de utilizare: | + | * **Gestionarea transparenței și a măștilor.** Biblioteca suportă manipularea canalelor alfa și aplicarea măștilor pentru a gestiona transparența în imagini. |
- | Iată un exemplu simplu de cod care deschide o imagine, o redimensionează și o salvează într-un nou fișier: | + | Pentru a folosit Pillow, este necesar să importăm biblioteca în proiect: |
- | python | + | <code> |
- | Copiază | + | python3 -m pip install pillow |
- | Editează | + | </code> |
+ | |||
+ | <code> | ||
from PIL import Image | from PIL import Image | ||
- | # Deschide imaginea | + | # Open image |
- | imagine = Image.open('imagine_initiala.jpg') | + | image = Image.open('image.jpg') |
- | # Redimensionează imaginea | + | # Resize image |
- | imagine_redimensionata = imagine.resize((800, 600)) | + | resized_image = image.resize((800, 600)) |
- | # Salvează imaginea redimensionată | + | # Save the resized image |
- | imagine_redimensionata.save('imagine_redimensionata.jpg') | + | resized_image.save('resized_image.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 | + | </code> |
- | </hidden> | + | |
==== Tasks ==== | ==== Tasks ==== | ||
+ | |||
+ | <note tip>Pentru a genera un număr random, folosiți biblioteca **random**.</note> | ||
+ | |||
- 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. |