Flask aplikacija za generiranje memov s tekstom na slikah.
- Python 3.12
- Flask 3.0.0 - Web okvir za backend
- Pillow 10.1.0 - Knjižnica za obdelavo slik
- Werkzeug 3.0.1 - WSGI utility knjižnica
-
Prejem datoteke
- Uporabnik naloži sliko preko HTML obrazca (
<input type="file">) - Flask sprejme datoteko preko
request.files['image']
- Uporabnik naloži sliko preko HTML obrazca (
-
Začasno shranjevanje
- Slika se shrani v mapo
uploads/kottemp_upload.jpg - To omogoča obdelavo slike s Pillow knjižnico
- Slika se shrani v mapo
-
Obdelava slike
- Funkcija
add_text_to_image()odpre sliko sPIL.Image.open() - Ustvari
ImageDrawobjekt za risanje teksta - Naloži DejaVu Sans Bold font (ali privzetega, če ni na voljo)
- Izračuna pozicijo teksta (centriran na vrhu in dnu)
- Doda tekst z belimi črkami in črno obramo (
stroke)
- Funkcija
-
Generiranje rezultata
- Modificirana slika se shrani v pomnilnik (
BytesIO) - Format: JPEG s kvaliteto 95%
- Modificirana slika se shrani v pomnilnik (
-
Vrnitev slike
- Flask vrne sliko direktno brskalniku s
send_file() - Začasna datoteka se izbriše
- Uporabnik vidi generirani meme in ga lahko prenese na svojo napravo
- Flask vrne sliko direktno brskalniku s
meme-generator/
├── app.py
├── requirements.txt
├── Dockerfile
├── .dockerignore
├── templates/
│ └── index.html
└── uploads/
└── .gitkeep
docker build -t meme-generator .docker run -p 5000:5000 meme-generatordocker psPo zagonu Docker kontejnerja je aplikacija dostopna na:
- Nalaganje slike preko spletnega vmesnika
- Vnos zgornjega teksta
- Vnos spodnjega teksta
- Generiranje nove slike s tekstom
- Prikaz generiranega mema v brskalniku
- Prenos generiranega mema
- Font: DejaVu Sans Bold, velikost 40px
- Barva teksta: Bela (#FFFFFF)
- Obroba: Črna, 2px debela
- Pozicija: Zgornji tekst na vrhu, spodnji na dnu (centriran)
- Format: Tekst se avtomatsko pretvori v velike črke (klasičen meme stil)
pip install -r requirements.txt
python app.py