[{"data":1,"prerenderedAt":337},["ShallowReactive",2],{"article-characters-drawing":3},{"id":4,"title":5,"body":6,"date":302,"description":303,"downloads":306,"extension":310,"hide":311,"links":312,"meta":319,"navigation":320,"path":321,"seo":322,"slug":324,"stem":325,"tags":326,"__hash__":336},"articles\u002Farticles\u002Fcharacters-drawing.md","字符画",{"type":7,"value":8,"toc":278},"minimark",[9,13,34,56,67,79,131,142,155,162,173,184,217,228,231,242,250,261,268,274],[10,11,12],"p",{},"Python制作的字符画程序，可以把任意图片用字符画的形式显示出来。",[14,15,16,18],"h2",{"id":16,"class":17},"功能特点","section-heading",[19,20,23,29],"a",{"class":21,"href":22},"section-link","#功能特点",[24,25,28,16],"span",{"className":26},[27],"visually-hidden","章节",[24,30,33],{"ariaHidden":31,"tabIndex":32},"true",-1," §",[35,36,37,50,53],"ul",{},[38,39,40,41,45,46,49],"li",{},"支持多种图片格式（",[42,43,44],"code",{},"JPG","、",[42,47,48],{},"PNG","等）",[38,51,52],{},"可自定义字符集",[38,54,55],{},"可调整输出尺寸",[14,57,58,59],{"id":58,"class":17},"使用方法",[19,60,62,65],{"class":21,"href":61},"#使用方法",[24,63,28,58],{"className":64},[27],[24,66,33],{"ariaHidden":31,"tabIndex":32},[68,69,70,71],"h3",{"id":70,"class":17},"环境准备",[19,72,74,77],{"class":21,"href":73},"#环境准备",[24,75,28,70],{"className":76},[27],[24,78,33],{"ariaHidden":31,"tabIndex":32},[80,81,82,85,116],"ol",{},[38,83,84],{},"安装 Python 3.x",[38,86,87,88,91,92],{},"安装依赖库 ",[42,89,90],{},"pillow","：\n",[93,94,99],"pre",{"className":95,"code":96,"language":97,"meta":98,"style":98},"language-bash shiki shiki-themes dracula","pip install pillow\n","bash","",[42,100,101],{"__ignoreMap":98},[24,102,105,109,113],{"class":103,"line":104},"line",1,[24,106,108],{"class":107},"sAOxA","pip",[24,110,112],{"class":111},"s-mGx"," install",[24,114,115],{"class":111}," pillow\n",[38,117,118,119],{},"准备字体文件：\n",[35,120,121,128],{},[38,122,123,124,127],{},"下载或准备一个 TrueType 字体文件（如 ",[42,125,126],{},"font.ttf","）",[38,129,130],{},"将字体文件放在与程序相同的目录下",[68,132,133,134],{"id":133,"class":17},"运行程序",[19,135,137,140],{"class":21,"href":136},"#运行程序",[24,138,28,133],{"className":139},[27],[24,141,33],{"ariaHidden":31,"tabIndex":32},[93,143,145],{"className":95,"code":144,"language":97,"meta":98,"style":98},"python characters-drawing.py\n",[42,146,147],{"__ignoreMap":98},[24,148,149,152],{"class":103,"line":104},[24,150,151],{"class":107},"python",[24,153,154],{"class":111}," characters-drawing.py\n",[10,156,157,158,161],{},"即打开",[42,159,160],{},"tkinter","窗口，选择图片，调整参数，点击转换即可。",[14,163,164,165],{"id":164,"class":17},"技术原理",[19,166,168,171],{"class":21,"href":167},"#技术原理",[24,169,28,164],{"className":170},[27],[24,172,33],{"ariaHidden":31,"tabIndex":32},[68,174,175,176],{"id":175,"class":17},"图像处理流程",[19,177,179,182],{"class":21,"href":178},"#图像处理流程",[24,180,28,175],{"className":181},[27],[24,183,33],{"ariaHidden":31,"tabIndex":32},[80,185,186,193,199,205,211],{},[38,187,188,192],{},[189,190,191],"strong",{},"图像读取","：使用 Pillow 库读取原始图片",[38,194,195,198],{},[189,196,197],{},"尺寸调整","：根据指定的缩放调整图像尺寸",[38,200,201,204],{},[189,202,203],{},"灰度转换","：将彩色图像转换为灰度图像",[38,206,207,210],{},[189,208,209],{},"像素映射","：将每个像素的灰度值映射到对应的字符",[38,212,213,216],{},[189,214,215],{},"字符输出","：生成最终的字符画",[68,218,219,220],{"id":219,"class":17},"字符映射原理",[19,221,223,226],{"class":21,"href":222},"#字符映射原理",[24,224,28,219],{"className":225},[27],[24,227,33],{"ariaHidden":31,"tabIndex":32},[10,229,230],{},"程序首先读取字体文件，将字符集中的每个字符逐个渲染到一张临时灰度图上，并统计该字符所占像素的平均灰度值，建立灰度与字符的映射表。随后计算目标图片每个像素灰度，再依据映射表二分查找最接近的字符，最终拼接成完整的字符画。",[14,232,233,234],{"id":233,"class":17},"注意事项",[19,235,237,240],{"class":21,"href":236},"#注意事项",[24,238,28,233],{"className":239},[27],[24,241,33],{"ariaHidden":31,"tabIndex":32},[35,243,244,247],{},[38,245,246],{},"字体文件必须与程序在同一目录下",[38,248,249],{},"调整尺寸再转换，建议调小，过大会影响显示效果",[14,251,252,253],{"id":252,"class":17},"截图",[19,254,256,259],{"class":21,"href":255},"#截图",[24,257,28,252],{"className":258},[27],[24,260,33],{"ariaHidden":31,"tabIndex":32},[10,262,263],{},[264,265],"img",{"alt":266,"src":267},"使用字符画工具转换的print函数图像","\u002Fraw\u002Fcharacters-drawing-gui.png",[10,269,270],{},[264,271],{"alt":272,"src":273},"将任意文件转换为字符画的工具界面","\u002Fraw\u002Fcharacters-drawing-output.png",[275,276,277],"style",{},"html pre.shiki code .sAOxA, html code.shiki .sAOxA{--shiki-default:#50FA7B}html pre.shiki code .s-mGx, html code.shiki .s-mGx{--shiki-default:#F1FA8C}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":98,"searchDepth":279,"depth":279,"links":280},2,[281,283,291,298,300],{"id":16,"depth":279,"text":282},"功能特点章节功能特点 §",{"id":58,"depth":279,"text":284,"children":285},"使用方法章节使用方法 §",[286,289],{"id":70,"depth":287,"text":288},3,"环境准备章节环境准备 §",{"id":133,"depth":287,"text":290},"运行程序章节运行程序 §",{"id":164,"depth":279,"text":292,"children":293},"技术原理章节技术原理 §",[294,296],{"id":175,"depth":287,"text":295},"图像处理流程章节图像处理流程 §",{"id":219,"depth":287,"text":297},"字符映射原理章节字符映射原理 §",{"id":233,"depth":279,"text":299},"注意事项章节注意事项 §",{"id":252,"depth":279,"text":301},"截图章节截图 §","2024\u002F11\u002F9",[304,305],"Python制作的字符画程序，可以把图片用字符显示出来。","使用方法：安装pillow库，在相同目录放置字体font.ttf",[307],[308,309],"\u002Fraw\u002Fcharacters-drawing.py","下载：字符画程序","md",false,[313,316],[314,315],"https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV17SDrYEEVS\u002F","演示视频",[317,318],"https:\u002F\u002Fgithub.com\u002FIsBenben\u002FFunny-Things\u002Fblob\u002Fmain\u002F%E5%AD%97%E7%AC%A6%E7%94%BB.py","源代码",{},true,"\u002Farticles\u002Fcharacters-drawing",{"title":5,"description":323},[304,305],"characters-drawing","articles\u002Fcharacters-drawing",[327,330,333],[328,329],"lang","python3",[331,332],"inspiration","original",[334,335],"content","art","gxb70jAc2Lf8Q0jOmGUvtv5U71iyMz_KbZVORUjBQf8",1778919286407]