将图片转换为ASCII艺术
ascii-magic的Python项目详细描述
ASCII魔术
Python包,用于将图像转换为ASCII艺术终端和HTML。多亏了Colorama它与Windows终端兼容。基于ProfOak's Ascii Py的代码。在
安装
pip install ascii_magic
基本用途
^{pr2}$结果:
可用功能
从图像文件()
将图像文件转换为ASCII图形。在
ascii_magic.from_image_file(path:str,columns:int=120,width_ratio:float=2.2,char:str=None,back:Back=None,mode:Modes=Modes.TERMINAL,)->str
path
:与PIL兼容的文件,如jpeg或pngcolumns (optional)
:每行的字符数,更多的列=更宽的艺术width_ratio (optional)
:ASCII字符不是正方形,因此这将调整宽高比char (optional)
:您可以使用单个的ASCII标志符号,例如“#”back (optional)
:在终端模式下,使用以下选项之一设置背景颜色:ascii_magic.Back.BLACK
ascii_magic.Back.RED
ascii_magic.Back.GREEN
ascii_magic.Back.YELLOW
ascii_magic.Back.BLUE
ascii_magic.Back.MAGENTA
ascii_magic.Back.CYAN
ascii_magic.Back.WHITE
mode (optional)
:其中之一:ascii_magic.Modes.TERMINAL
:输出带终端颜色代码的ASCII(8个音调)ascii_magic.Modes.ASCII
:输出纯ASCII,不带颜色代码,产生“灰度”图像ascii_magic.Modes.HTML_TERMINAL
:输出模拟终端颜色的HTML;将其包装在<pre>
ascii_magic.Modes.HTML
:同上,但用全色
示例:
output=ascii_magic.from_image_file('images/lion.jpg',columns=200,back=ascii_magic.Back.BLUE)
结果:
示例:
output=ascii_magic.from_image_file('images/lion.jpg',columns=200,width_ratio=2,mode=ascii_magic.Modes.HTML)
结果:
示例:
output=ascii_magic.from_image_file('images/lion.jpg',columns=200,mode=ascii_magic.Modes.ASCII)
结果:
从url()
如上所述,但是使用图像的URL。如果在请求映像时出现错误,则引发一个urllib.error.URLError
,但如果不想将urllib导入到项目中,也可以将其捕获为OSError
。在
ascii_magic.from_url(url:str,# ... as above)->str
url
:将通过urllib加载的URL(支持重定向)
示例:
try:img_url='https://source.unsplash.com/800x600?nature'output=ascii_magic.from_url(img_url,columns=100)exceptOSErrorase:print(f'Could not load the image, server said: {e.code}{e.msg}')
从剪贴板()
如上所述,但包含剪贴板的内容。如果剪贴板不包含图像,则引发OSError
。在
在Linux下需要PyGObject。在
ascii_magic.from_clipboard(# ... as above)->str
示例:
try:output=ascii_magic.from_clipboard(columns=100)exceptOSError:print('The clipboard does not contain an image')
从图像()
如上所述,但使用的图像加载枕头。在
ascii_magic.from_image(img:Image,# ... as above)->str
img
:PIL image对象
示例:
fromPILimportImagewithImage.open('images/lion.jpg')asimg:output=ascii_magic.from_image(img,columns=100)
初始化终端()
初始化Colorama,这是Windows在终端模式下显示艺术所必需的。这和做colorama.init()
是一样的。在
ascii_magic.init_terminal()->None
至终端()
初始化Colorama,这是Windows在终端模式下显示艺术所必需的,并打印输入。这和做colorama.init()
然后print()
是一样的。在
ascii_magic.to_terminal(input:str)->None
到\u html_file()
将输入写入<pre>
内的基本HTML文件。在
ascii_magic.to_html(path:str,input:str,styles:str='...',# See descriptionadditional_styles:str='',auto_open:bool=False)->None
path
:HTML文件的相对路径和文件名input
:将包含的标记styles (optional)
:默认情况下,<pre>
元素的一组CSS样式的字符串:- 显示:内联块
- 边框宽度:4px 6px
- 边框颜色:黑色
- 边框样式:纯色
- 背景色:黑色
- 字号:8px
additional_styles (optional)
:您可以添加自己的样式,而无需删除默认样式auto_open (optional)
:如果为True,将对HTML文件调用webbrowser.open()
示例:
output=ascii_magic.from_image_file('images/lion.jpg',mode=ascii_magic.Modes.HTML)ascii_magic.to_html_file('lion.html',output,additional_styles='background: #222;')
快速测试()
运行ascii_magic,使用默认参数随机显示图片并将其打印到终端。在
ascii_magic.quick_test()->None
许可证
版权所有(c)2020 Leandro Barone。在
使用是根据麻省理工学院的许可证提供的。有关完整的详细信息,请参阅许可证。在
- 项目
标签: