鱼C论坛

 找回密码
 立即注册
查看: 1432|回复: 8

[已解决]《将你的女神变成字符画》,没有报错,但也没有结果。

[复制链接]
发表于 2021-11-1 11:32:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
学习《将你的女神变成字符画》这节课,代码运行后,没有报错,但是也没有结果。
最佳答案
2021-11-1 14:37:56
baici2021 发表于 2021-11-1 13:54
代码编辑器打开是正常的,那这个问题怎么解决呢?

记事本默认字体微软雅黑不是等宽字体,不同的字符有不同的宽度,把记事本字体设置成等宽字体可以解决,比如新宋体,不过显示效果不好。或者把字符直接画到图片里,你看我的帖子imgtoch就是把字符直接画到图片上的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-11-1 11:52:04 | 显示全部楼层
请贴一下你的全部代码。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-1 12:15:05 | 显示全部楼层
更正:不是没有结果,而是图转换的不完全。复制的代码也是一样的效果,转换出来图片有缺角,梦露也不清晰。 QQ截图20211101121423.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-1 13:18:16 | 显示全部楼层
suchocolate 发表于 2021-11-1 11:52
请贴一下你的全部代码。


from PIL import Image

def pic2ascii(pic, asciis, zoom, vscale):
    img = Image.open(pic)
    out = img.convert("L")
    width, height = out.size
    out = out.resize((int(width * zoom), int(height * zoom * vscale)))
    ascii_len = len(asciis)
    texts = ''

    for row in range(out.height):
        for col in range(out.width):
            gray = out.getpixel((col, row))
            texts += asciis[int((gray / 255) * (ascii_len - 1))]
        texts += '\n'

    return texts

def main():
    pic = input("请输入待转换的图片名称:")
    asciis = "@%#*+=-:. "
    zoom = 0.5
    vscale = 0.5
    texts = pic2ascii(pic, asciis, zoom, vscale)
   
    with open("ascii.txt", "w") as file:
        file.write(texts)

if __name__ == "__main__":
    main()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-1 13:46:31 From FishC Mobile | 显示全部楼层
可能是因为记事本的字体不是等宽字体所以图像变形了,先用你的代码编辑器打开txt文件看看正不正常。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-1 13:53:15 | 显示全部楼层
这个是哪节课?我也想去玩一玩
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-1 13:54:21 | 显示全部楼层
hrpzcf 发表于 2021-11-1 13:46
可能是因为记事本的字体不是等宽字体所以图像变形了,先用你的代码编辑器打开txt文件看看正不正常。

代码编辑器打开是正常的,那这个问题怎么解决呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-1 14:03:41 | 显示全部楼层
极客python那里
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-1 14:37:56 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
baici2021 发表于 2021-11-1 13:54
代码编辑器打开是正常的,那这个问题怎么解决呢?

记事本默认字体微软雅黑不是等宽字体,不同的字符有不同的宽度,把记事本字体设置成等宽字体可以解决,比如新宋体,不过显示效果不好。或者把字符直接画到图片里,你看我的帖子imgtoch就是把字符直接画到图片上的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-10 14:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表