码农知识堂 - 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')

  • 相关阅读:
    js双击修改元素内容并提交到后端封装实现
    【pygame】01 pygame制作游戏的最小系统
    MCS:离散随机变量——Hyper Geometric分布
    PyQt5之消息对话框
    6.2 List和Set接口
    App移动端测试(5)—— adb命令【续】
    Linux系统奇事【free显示内存95%但是top却看不到谁用】
    orc文件的读写及整合hive
    【逆向专题】【危!!!刑】(一)使用c#+Win32Api实现进程注入到wechat
    Exchangis1.0演讲稿
  • 原文地址: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号