projects
/
rainbowstream.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
a5d4557
)
doubled the resolution of images
author
Joseph Hallett
<bogwonch@bogwonch.net>
Wed, 29 Jul 2015 23:36:29 +0000
(
00:36
+0100)
committer
Joseph Hallett
<bogwonch@bogwonch.net>
Wed, 29 Jul 2015 23:36:54 +0000
(
00:36
+0100)
rainbowstream/c_image.py
patch
|
blob
|
blame
|
history
diff --git
a/rainbowstream/c_image.py
b/rainbowstream/c_image.py
index f05015024f41daf28346d41ad932324c182a8792..87726bf85a85843ab0d7b085a4d2208c35c47493 100644
(file)
--- a/
rainbowstream/c_image.py
+++ b/
rainbowstream/c_image.py
@@
-31,6
+31,14
@@
def pixel_print(ansicolor):
sys.stdout.write('\033[48;5;%sm \033[0m' % (ansicolor))
sys.stdout.write('\033[48;5;%sm \033[0m' % (ansicolor))
+def block_print(lower, higher):
+ """
+ Print two pixels arranged above each other with Ansi color.
+ Abuses Unicode to print two pixels in the space of one terminal block.
+ """
+ sys.stdout.write('\033[38;5;%sm\033[48;5;%smâ–„\033[0m' % (higher, lower))
+
+
def image_to_display(path, start=None, length=None):
"""
Display an image
def image_to_display(path, start=None, length=None):
"""
Display an image
@@
-50,12
+58,15
@@
def image_to_display(path, start=None, length=None):
i = i.resize((width, height), Image.ANTIALIAS)
height = min(height, c['IMAGE_MAX_HEIGHT'])
i = i.resize((width, height), Image.ANTIALIAS)
height = min(height, c['IMAGE_MAX_HEIGHT'])
- for
y in xrange(height
):
+ for
real_y in xrange(height // 2
):
sys.stdout.write(' ' * start)
for x in xrange(width):
sys.stdout.write(' ' * start)
for x in xrange(width):
- p = i.getpixel((x, y))
- r, g, b = p[:3]
- pixel_print(rgb2short(r, g, b))
+ y = real_y * 2
+ p0 = i.getpixel((x, y))
+ p1 = i.getpixel((x, y+1))
+ r0, g0, b0 = p0[:3]
+ r1, g1, b1 = p1[:3]
+ block_print(rgb2short(r0, g0, b0), rgb2short(r1, g1, b1))
sys.stdout.write('\n')
sys.stdout.write('\n')