码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • python将图片转为位图转为十六进制ASCII字符


    在用到蓝牙打印机的时候,需要将图片转为字符串图,才能输出到打印机上。开始用java研究了很久不行,后来又开始用py尝试,最后写出来了

    效果将图片:

    转为:

    1. from PIL import Image
    2. def img2charTxt(filename, new_wight, txtname):
    3. """
    4. 将图片转换为 ASCII 字符画文本的函数
    5. 参数:
    6. filename (str):要转换的图片文件名
    7. new_wight (int):新图像的宽度
    8. txtname (str):输出的 ASCII 字符画文本文件名
    9. 返回:
    10. None
    11. """
    12. # 定义 ASCII 字符集
    13. #ascii_chars = "MNHQ$OC67+>!:-."
    14. ascii_chars = "E1FC8390"
    15. # 打开图片文件
    16. img = Image.open(filename)
    17. # 将图片转换为灰度模式并调整大小
    18. w, h = img.size
    19. img = img.convert('L').resize((new_wight, int(new_wight * h / w)))
    20. # 获取调整大小后的图片宽度和高度
    21. w, h = img.size
    22. # 加载图片数据
    23. data = img.load()
    24. # 创建一个空列表用于存储字符画文本的行
    25. result = []
    26. # 遍历图片的每个像素
    27. n = len(ascii_chars) - 1
    28. for y in range(h):
    29. # 创建一个空字符串用于存储当前行的字符画文本
    30. line = ''
    31. for x in range(w):
    32. # 根据像素的灰度值获取对应的 ASCII 字符,并添加到当前行的字符串中
    33. char = ascii_chars[data[x, y] * n // 255]
    34. line += char
    35. # 将当前行的字符画文本添加到结果列表中,并添加换行符
    36. result.append(line + '\n')
    37. # 打开输出的 ASCII 字符画文本文件,写入字符画文本内容
    38. with open(txtname, 'w') as f:
    39. f.writelines(result)
    40. # 测试代码
    41. img2charTxt('/Users/apple/Desktop/临时文件/1.jpg', 100, '/Users/apple/Desktop/临时文件/1.txt')

  • 相关阅读:
    YoloV6实战:手把手教你使用Yolov6进行物体检测(附数据集)
    MySQl表的增删查改(聚合查询+联合查询)
    网络协议常用面试题汇总(一)
    echarts双轴刻度线y轴刻度线对齐
    JRDZ静态中间继电器
    Ubuntu20.04沉浸式装机
    爬虫的三大库
    MATLAB神经网络编程(一)——感知器
    牛客Leetcode高频题解(下)
    python激活虚拟环境env报错:no such file or directory: env/Scripts/activate
  • 原文地址:https://blog.csdn.net/q1335882/article/details/138186242
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号