Bläddra i källkod

Set up the overlay script

master
Fen Dweller 5 år sedan
incheckning
e783bcfd05
5 ändrade filer med 194 tillägg och 0 borttagningar
  1. +152
    -0
      .gitignore
  2. +3
    -0
      .vscode/settings.json
  3. Binär
      OptimusPrinceps.ttf
  4. +39
    -0
      overlay.py
  5. +0
    -0
      you-died.py

+ 152
- 0
.gitignore Visa fil

@@ -0,0 +1,152 @@
config.json

# Created by https://www.toptal.com/developers/gitignore/api/python,virtualenv
# Edit at https://www.toptal.com/developers/gitignore?templates=python,virtualenv

### Python ###
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
.python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# PEP 582; used by e.g. github.com/David-OConnor/pyflow
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

### VirtualEnv ###
# Virtualenv
# http://iamzed.com/2009/05/07/a-primer-on-virtualenv/
[Bb]in
[Ii]nclude
[Ll]ib
[Ll]ib64
[Ll]ocal
[Ss]cripts
pyvenv.cfg
pip-selfcheck.json

# End of https://www.toptal.com/developers/gitignore/api/python,virtualenv

+ 3
- 0
.vscode/settings.json Visa fil

@@ -0,0 +1,3 @@
{
"python.pythonPath": "venv\\Scripts\\python.exe"
}

Binär
OptimusPrinceps.ttf Visa fil


+ 39
- 0
overlay.py Visa fil

@@ -0,0 +1,39 @@
from PIL import Image, ImageDraw, ImageFont

def sub(p1, p2):
return (p1[0] - p2[0], p1[1] - p2[1])

def overlay(image_in, image_out):
image = image_in.convert("RGBA")

size = image.size
center = (size[0]/2, size[1]/2)
message = "YOU DIED"
font_size = size[1] // 6
gradient_range = size[1] // 10

rect_top = sub(center, (0, font_size * 3 // 4))
rect_bot = sub(center, (0, -font_size * 3 // 4))

overlay = Image.new("RGBA", size, (0,0,0,0))

draw = ImageDraw.Draw(overlay)
font = ImageFont.truetype("OptimusPrinceps.ttf", font_size)

draw.rectangle([0, rect_top[1], size[0], rect_bot[1]], fill=(0,0,0))

for y in range(-1, -gradient_range - 1, -1):
c = 255 - 255 * (-y) // gradient_range
draw.line([0, rect_top[1] + y, size[0], rect_top[1] + y], fill=(0,0,0,c))

for y in range(1, gradient_range + 1, 1):
c = 255 - 255 * (y) // gradient_range
draw.line([0, rect_bot[1] + y, size[0], rect_bot[1] + y], fill=(0,0,0,c))

text_size = draw.textsize(message, font=font)
offset = (center[0] - text_size[0]/2, center[1] - text_size[1]/2)

draw.text(offset, message, (255,0,0), font=font)

result = Image.alpha_composite(Image.alpha_composite(image, Image.new("RGBA", size, (0,0,0,100))), overlay)
return result

+ 0
- 0
you-died.py Visa fil


Laddar…
Avbryt
Spara