[tools] Added pil to view image files.
This commit is contained in:
parent
6edcfbb746
commit
e1742f6959
20 changed files with 198 additions and 4 deletions
|
|
@ -42,3 +42,4 @@ Extensions | Tools
|
|||
.tar.gz .tgz | [tar_gz](http://www.gnu.org/software/tar/manual/tar.html)
|
||||
.tar.bz2 | [tar_bz2](http://www.gnu.org/software/tar/manual/tar.html)
|
||||
.a .so | [nm](https://linux.die.net/man/1/nm)
|
||||
.png .jpg .gif .bmp .ppm .tiff .tga | [pil](http://python-pillow.github.io/) • [pil_half](http://python-pillow.github.io/)
|
||||
|
|
|
|||
9
fill3.py
9
fill3.py
|
|
@ -401,6 +401,15 @@ class Placeholder:
|
|||
return self.widget.appearance(dimensions)
|
||||
|
||||
|
||||
class Fixed:
|
||||
|
||||
def __init__(self, appearance):
|
||||
self.appearance_min_ = appearance
|
||||
|
||||
def appearance_min(self):
|
||||
return self.appearance_min_
|
||||
|
||||
|
||||
##########################
|
||||
|
||||
|
||||
|
|
|
|||
BIN
golden-files/input/circle.bmp
Normal file
BIN
golden-files/input/circle.bmp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
BIN
golden-files/input/circle.gif
Normal file
BIN
golden-files/input/circle.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 108 B |
BIN
golden-files/input/circle.jpg
Normal file
BIN
golden-files/input/circle.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 381 B |
BIN
golden-files/input/circle.png
Normal file
BIN
golden-files/input/circle.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 320 B |
BIN
golden-files/input/circle.ppm
Normal file
BIN
golden-files/input/circle.ppm
Normal file
Binary file not shown.
BIN
golden-files/input/circle.tga
Normal file
BIN
golden-files/input/circle.tga
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1 KiB |
BIN
golden-files/input/circle.tiff
Normal file
BIN
golden-files/input/circle.tiff
Normal file
Binary file not shown.
16
golden-files/results/pil-circle_bmp
Normal file
16
golden-files/results/pil-circle_bmp
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
(B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m
|
||||
16
golden-files/results/pil-circle_gif
Normal file
16
golden-files/results/pil-circle_gif
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
(B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m
|
||||
16
golden-files/results/pil-circle_jpg
Normal file
16
golden-files/results/pil-circle_jpg
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
(B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;7;7;7m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;1;1;1m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;2;2;2m (B[m[38;2;255;255;255m[48;2;1;1;1m (B[m[38;2;255;255;255m[48;2;3;3;3m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;7;7;7m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;1;1;1m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;251;251;251m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;1;1;1m (B[m[38;2;255;255;255m[48;2;2;2;2m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;2;2;2m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;247;247;247m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;1;1;1m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;2;2;2m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;4;4;4m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;251;251;251m (B[m[38;2;255;255;255m[48;2;249;249;249m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;249;249;249m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;249;249;249m (B[m[38;2;255;255;255m[48;2;1;1;1m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;2;2;2m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;248;248;248m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;252;252;252m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;1;1;1m (B[m[38;2;255;255;255m[48;2;2;2;2m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;2;2;2m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;252;252;252m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;247;247;247m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;251;251;251m (B[m[38;2;255;255;255m[48;2;248;248;248m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;4;4;4m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;251;251;251m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;252;252;252m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;2;2;2m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;4;4;4m (B[m[38;2;255;255;255m[48;2;249;249;249m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;252;252;252m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;250;250;250m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;252;252;252m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;251;251;251m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;248;248;248m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;252;252;252m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;1;1;1m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;2;2;2m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;250;250;250m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;249;249;249m (B[m[38;2;255;255;255m[48;2;252;252;252m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;2;2;2m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;1;1;1m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;246;246;246m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;1;1;1m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;252;252;252m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;249;249;249m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;251;251;251m (B[m[38;2;255;255;255m[48;2;7;7;7m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;6;6;6m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;252;252;252m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;252;252;252m (B[m[38;2;255;255;255m[48;2;1;1;1m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;2;2;2m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;2;2;2m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;248;248;248m (B[m[38;2;255;255;255m[48;2;252;252;252m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;251;251;251m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;1;1;1m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;1;1;1m (B[m[38;2;255;255;255m[48;2;3;3;3m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;5;5;5m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;1;1;1m (B[m[38;2;255;255;255m[48;2;2;2;2m (B[m[38;2;255;255;255m[48;2;1;1;1m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;4;4;4m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;1;1;1m (B[m[38;2;255;255;255m[48;2;2;2;2m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m
|
||||
16
golden-files/results/pil-circle_png
Normal file
16
golden-files/results/pil-circle_png
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
(B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m
|
||||
16
golden-files/results/pil-circle_ppm
Normal file
16
golden-files/results/pil-circle_ppm
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
(B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m
|
||||
16
golden-files/results/pil-circle_tga
Normal file
16
golden-files/results/pil-circle_tga
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
(B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m
|
||||
16
golden-files/results/pil-circle_tiff
Normal file
16
golden-files/results/pil-circle_tiff
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
(B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m
|
||||
8
golden-files/results/pil_half-circle_png
Normal file
8
golden-files/results/pil_half-circle_png
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
(B[m[38;2;0;0;0m[48;2;0;0;0m▀▀▀▀▀▀(B[m[38;2;0;0;0m[48;2;255;255;255m▀▀▀▀(B[m[38;2;0;0;0m[48;2;0;0;0m▀▀▀▀▀▀(B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;0;0;0m[48;2;0;0;0m▀▀▀(B[m[38;2;0;0;0m[48;2;255;255;255m▀(B[m[38;2;254;254;254m[48;2;255;255;255m▀▀(B[m[38;2;255;255;255m[48;2;255;255;255m▀▀▀▀(B[m[38;2;254;254;254m[48;2;255;255;255m▀▀(B[m[38;2;0;0;0m[48;2;254;254;254m▀(B[m[38;2;0;0;0m[48;2;0;0;0m▀▀▀(B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;0;0;0m[48;2;0;0;0m▀▀(B[m[38;2;254;254;254m[48;2;254;254;254m▀(B[m[38;2;255;255;255m[48;2;255;255;255m▀▀▀▀▀▀▀▀▀▀(B[m[38;2;254;254;254m[48;2;254;254;254m▀(B[m[38;2;0;0;0m[48;2;255;255;255m▀(B[m[38;2;0;0;0m[48;2;0;0;0m▀(B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;0;0;0m[48;2;0;0;0m▀(B[m[38;2;255;255;255m[48;2;255;255;255m▀▀▀▀▀▀▀▀▀▀▀▀▀▀(B[m[38;2;0;0;0m[48;2;0;0;0m▀(B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;0;0;0m[48;2;0;0;0m▀(B[m[38;2;254;254;254m[48;2;254;254;254m▀(B[m[38;2;255;255;255m[48;2;255;255;255m▀▀▀▀▀▀▀▀▀▀▀▀(B[m[38;2;255;255;255m[48;2;254;254;254m▀(B[m[38;2;0;0;0m[48;2;0;0;0m▀(B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;0;0;0m[48;2;0;0;0m▀(B[m[38;2;255;255;255m[48;2;0;0;0m▀(B[m[38;2;254;254;254m[48;2;254;254;254m▀(B[m[38;2;255;255;255m[48;2;255;255;255m▀▀▀▀▀▀▀▀▀▀(B[m[38;2;255;255;255m[48;2;254;254;254m▀(B[m[38;2;255;255;255m[48;2;0;0;0m▀(B[m[38;2;0;0;0m[48;2;0;0;0m▀(B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;0;0;0m[48;2;0;0;0m▀▀▀(B[m[38;2;254;254;254m[48;2;255;255;255m▀(B[m[38;2;255;255;255m[48;2;254;254;254m▀(B[m[38;2;255;255;255m[48;2;255;255;255m▀▀▀▀▀▀(B[m[38;2;255;255;255m[48;2;254;254;254m▀(B[m[38;2;254;254;254m[48;2;255;255;255m▀(B[m[38;2;255;255;255m[48;2;0;0;0m▀(B[m[38;2;0;0;0m[48;2;0;0;0m▀▀(B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||
(B[m[38;2;0;0;0m[48;2;0;0;0m▀▀▀▀▀(B[m[38;2;255;255;255m[48;2;0;0;0m▀(B[m[38;2;254;254;254m[48;2;0;0;0m▀(B[m[38;2;255;255;255m[48;2;0;0;0m▀▀▀▀(B[m[38;2;0;0;0m[48;2;0;0;0m▀▀▀▀▀(B[m
|
||||
|
|
@ -3,6 +3,7 @@
|
|||
# Licensed under the Artistic License 2.0.
|
||||
|
||||
import collections
|
||||
import itertools
|
||||
import os
|
||||
import weakref
|
||||
|
||||
|
|
@ -102,10 +103,7 @@ class CharStyle:
|
|||
|
||||
|
||||
def _join_lists(lists):
|
||||
result = []
|
||||
for list_ in lists:
|
||||
result.extend(list_)
|
||||
return result
|
||||
return list(itertools.chain.from_iterable(lists))
|
||||
|
||||
|
||||
class TermStr(collections.UserString):
|
||||
|
|
|
|||
58
tools.py
58
tools.py
|
|
@ -22,6 +22,7 @@ import tempfile
|
|||
import time
|
||||
import traceback
|
||||
|
||||
import PIL.Image
|
||||
import pygments
|
||||
import pygments.lexers
|
||||
import pygments.styles
|
||||
|
|
@ -646,6 +647,59 @@ php5_syntax.dependencies = {"php"}
|
|||
php5_syntax.url = "https://en.wikipedia.org/wiki/PHP"
|
||||
|
||||
|
||||
def _pil_pixels(pil_image):
|
||||
data = list(pil_image.getdata())
|
||||
width = pil_image.width
|
||||
return [data[row_index*width:(row_index+1)*width]
|
||||
for row_index in range(pil_image.height)]
|
||||
|
||||
|
||||
MAX_IMAGE_SIZE = 80
|
||||
|
||||
|
||||
def _resize_image(image, new_width):
|
||||
scale = new_width / image.width
|
||||
return image.resize((int(image.width * scale), int(image.height * scale)),
|
||||
PIL.Image.ANTIALIAS)
|
||||
|
||||
|
||||
def pil(path):
|
||||
with open(path, "rb") as image_file:
|
||||
with PIL.Image.open(image_file).convert("RGB") as image:
|
||||
if image.width > (MAX_IMAGE_SIZE // 2):
|
||||
image = _resize_image(image, MAX_IMAGE_SIZE // 2)
|
||||
text = " " * 2 * image.width
|
||||
result = []
|
||||
for row in _pil_pixels(image):
|
||||
row_style = []
|
||||
for pixel in row:
|
||||
style = termstr.CharStyle(bg_color=pixel)
|
||||
row_style.extend([style, style])
|
||||
result.append(termstr.TermStr(text, tuple(row_style)))
|
||||
return Status.normal, fill3.Fixed(result)
|
||||
pil.dependencies = {"python3-pil"}
|
||||
pil.url = "python3-pil"
|
||||
|
||||
|
||||
def pil_half(path):
|
||||
with open(path, "rb") as image_file:
|
||||
with PIL.Image.open(image_file).convert("RGB") as image:
|
||||
if image.width > MAX_IMAGE_SIZE:
|
||||
image = _resize_image(image, MAX_IMAGE_SIZE)
|
||||
text = "▀" * image.width
|
||||
rows = _pil_pixels(image)
|
||||
if image.height % 2 == 1:
|
||||
rows.append([None] * image.width)
|
||||
result = fill3.Fixed([
|
||||
termstr.TermStr(text, tuple(termstr.CharStyle(
|
||||
fg_color=top_pixel, bg_color=bottom_pixel)
|
||||
for top_pixel, bottom_pixel in zip(rows[index], rows[index+1])))
|
||||
for index in range(0, image.height, 2)])
|
||||
return Status.normal, result
|
||||
pil_half.dependencies = {"python3-pil"}
|
||||
pil_half.url = "python3-pil"
|
||||
|
||||
|
||||
#############################
|
||||
|
||||
|
||||
|
|
@ -768,6 +822,9 @@ def _generic_tools():
|
|||
return [contents, metadata]
|
||||
|
||||
|
||||
IMAGE_EXTENSIONS = ["png", "jpg", "gif", "bmp", "ppm", "tiff", "tga"]
|
||||
|
||||
|
||||
TOOLS_FOR_EXTENSIONS = \
|
||||
[
|
||||
(["py"], [python_syntax, python_unittests, pydoc, mypy, python_coverage,
|
||||
|
|
@ -789,6 +846,7 @@ TOOLS_FOR_EXTENSIONS = \
|
|||
(["tar.gz", "tgz"], [tar_gz]),
|
||||
(["tar.bz2"], [tar_bz2]),
|
||||
(["a", "so"], [nm]),
|
||||
(IMAGE_EXTENSIONS, [pil, pil_half])
|
||||
]
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -212,6 +212,14 @@ class ToolsTestCase(unittest.TestCase):
|
|||
def test_php5_syntax(self):
|
||||
self._test_tool(tools.php5_syntax, [("root.php", tools.Status.ok)])
|
||||
|
||||
def test_pil(self):
|
||||
for extension in tools.IMAGE_EXTENSIONS:
|
||||
self._test_tool(tools.pil, [("circle." + extension,
|
||||
tools.Status.normal)])
|
||||
|
||||
def test_pil_half(self):
|
||||
self._test_tool(tools.pil_half, [("circle.png", tools.Status.normal)])
|
||||
|
||||
|
||||
class LruCacheWithEvictionTestCase(unittest.TestCase):
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue