sketch-a-day/s272/s272.pyde

69 wiersze
1.9 KiB
Plaintext
Czysty Zwykły widok Historia

2018-09-28 02:50:46 +00:00
"""
2018-09-28 03:36:45 +00:00
ASCII video
2018-09-28 02:50:46 +00:00
a, d, w, s to change sizes
"""
2018-09-28 03:36:45 +00:00
2018-09-28 02:50:46 +00:00
add_library('video')
2018-09-28 03:36:45 +00:00
color_mode = False
2018-09-28 02:50:46 +00:00
recordingPDF = False
2018-09-28 03:36:45 +00:00
grid_size = 8 # tamanho da grade
font_size = 12 # tamanho dsa letras
2018-09-28 02:50:46 +00:00
gliphs = (
" .`-_':,;^=+/\"|)\\<>)iv%xclrs{*}I?!][1taeo7zjLu" +
"nT#JCwfy325Fp6mqSghVd4EgXPGZbYkOA&8U$@KHDBWNMR0Q"
2018-10-28 01:43:13 +00:00
)[::-1]
# esse [::-1] é um "reverse" do string em Python, para o primiro glifo ser o mais escuro e o último o mais claro
2018-10-28 01:46:50 +00:00
print(gliphs)
2018-09-28 02:50:46 +00:00
def setup():
2018-09-28 03:36:45 +00:00
global fonte, n_cols, n_rows, video
2018-09-28 02:50:46 +00:00
size(640, 480)
noStroke()
smooth()
rectMode(CENTER)
fonte = createFont("SourceCodePro-Bold",60)
textFont(fonte)
textAlign(CENTER, CENTER)
video = Capture(this, width, height)
# Começa a captura
video.start()
def draw():
2018-10-28 01:46:50 +00:00
global n_rows, n_cols
2018-09-28 03:36:45 +00:00
n_cols = int(width / grid_size)
n_rows = int(height / grid_size)
2018-09-28 02:50:46 +00:00
if video.available():
background(255)
video.read()
video.loadPixels()
2018-09-28 03:36:45 +00:00
for c in range(n_cols):
x = c * grid_size
for r in range(n_rows):
y = r * grid_size
i = y * video.width + x # índice da posição do pixel
#colour = video.get(x, y)
colour = video.pixels[i]
bri = brightness(colour)
g = int(map(bri, 0, 255, 0, len(gliphs)-1))
if color_mode: fill(colour)
else: fill(0)
2018-09-28 02:50:46 +00:00
textSize(font_size)
2018-09-28 03:36:45 +00:00
text(gliphs[g], x + grid_size / 2, y + grid_size / 2)
2018-09-28 02:50:46 +00:00
def keyPressed(self):
2018-10-28 01:46:50 +00:00
global font_size, grid_size, color_mode
2018-09-28 02:50:46 +00:00
if key == 'g':
2018-10-28 01:46:50 +00:00
saveFrame("f####.png")
2018-09-28 02:50:46 +00:00
if key == 'w':
font_size += 1
if key == 's' and font_size > 1:
font_size -= 1
if key == 'a':
grid_size += 1
if key == 'd' and grid_size > 1:
grid_size -= 1
2018-09-28 03:36:45 +00:00
if key == 'c':
color_mode = not color_mode