Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@
pip install pillow
```

```bash
pip install requests
```

```bash
git clone https://github.com/GravenilvecTV/ASCIIArt
```
Expand Down
1 change: 1 addition & 0 deletions image.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed joconde.jpg
Binary file not shown.
43 changes: 29 additions & 14 deletions main.py
Original file line number Diff line number Diff line change
@@ -1,21 +1,36 @@
from PIL import Image
import requests

ascii_char = ' .:-=+*#%@' # du plus foncé au plus clair
while True:
# On dit à l'utilisateur d'entrer un lien:
link = input("Entrez un lien d'une image: ")
r = requests.get(link)
# SI l'utilisateur a entré un faux lien:
if r.status_code == 404:
print("Le lien n'est pas disponible!")

with Image.open("joconde.jpg") as image:
image = image.resize((500, 500))
# EN REVANCHE si l'utiulisateur en entre un bon:
elif r.status_code == 200:
file = open("image.jpg", "wb")
file.write(r.content)
file.close()

for y in range(image.height):
line = ""
for x in range(image.width):
# on récupère le pixel sous format RGB
rgb = image.getpixel((x, y))
# on fait la moyenne de chaque channel pour faire une nuance de gris
grey = sum(rgb) // len(rgb)
# on fait un produit en croix pour récupérer l'index
index = grey * 9 // 255
# on rajoute 2 espaces, car en console la hauteur d'un char est plus grande que sa largeur
line += ascii_char[index] + " "
print(line)
with Image.open("image.jpg") as image:
image = image.resize((500, 500))

for y in range(image.height):
line = ""
for x in range(image.width):
# on récupère le pixel sous format RGB
rgb = image.getpixel((x, y))
# on fait la moyenne de chaque channel pour faire une nuance de gris
grey = sum(rgb) // len(rgb)
# on fait un produit en croix pour récupérer l'index
index = grey * 9 // 255
# on rajoute 2 espaces, car en console la hauteur d'un char est plus grande que sa largeur
line += ascii_char[index] + " "
print(line)


# On met le tout dans une boucle while au cas où il y a une erreur.
Binary file removed musk.jpg
Binary file not shown.