hrpzcf 发表于 2021-9-16 17:15:18

将图片转为有趣的字符图片,更新 0.2.2 支持自定义字符,已上传 PyPi

本帖最后由 hrpzcf 于 2021-9-23 19:55 编辑

虽然已经有很多大佬发过了,但是我还是要发{:5_109:}

将图片转字符组成的图片,非转文本文件。

已更新至 0.2.2 版本:
makeImage函数新增关键字参数chars,自定义用于图像的字符;
新增两个函数grayscaleOf和sortByGrayscale,用于查询字符的等效灰度值,和按等效灰度值排序给出的字符串。


效果:


用法:

1. 先通过pip安装:py -m pip install imgtoch -i https://mirrors.cloud.tencent.com/pypi/simple
2.参数说明:
from imgtoch import makeImage

makeImage(
    "源图片路径",
    "生成的图片保存路径",# 此路径应包括文件名
    chars = None, # 包含用于图像的字符的字符串,字符数应大于 1,无需手动按等效灰度值排序
    scale = 1, # 采集率,0 < scale <= 1,可省略
    quality = 80, # 图片保存质量,大于 0 小于等于 100
    fontPath = "字体路径", # 可省略
    fontSize = 14, # 字体大小,仅指定字体路径时生效,可省略
    horzSep = 2, # 字符横向间隔,可省略
    vertSep = 2, # 字符纵向间隔,可省略
    keepRatio=True, # 是否保持原比例。因字体高宽不一定相等,生成的图片高宽会变形,此项为 True 则抵消变形,可省略
    keepSize=False, # 一个字符对应一个像素点,因字符有大小,所以生成的图片尺寸会变化,此项为 True 会将生成的图片缩放至原图尺寸,可省略
)

3. 实例 1:
from imgtoch import makeImage

# 大图片尽量将 scale 设置的小些,否则生成的图片会比较大
# 字体大小 fontSize 也是影响最终生成的图片大小的因素之一
makeImage("1.jpg", "new.jpg", scale=0.2)# 图片 1.jpg 已在当前目录中

4. 实例 2:
from imgtoch import *

# 获取字符'#'的等效灰度值
print(grayscaleOf("#")) # ('#', 170)

# 将给定字符串按等效灰度值排序
print(sortByGrayscale("H oa.:sjv@%^a'"))
# 结果:['H', '@', 'a', '%', 'a', 's', 'j', 'o', 'v', '^', ':', "'", '.', ' ']
# 其中'a'和'%'的等效灰度值应该是相等的所以出现了'%'被夹在两个'a'中间的问题

# 更具体的参数可以看 IDE 提示或者使用 help 函数

源代码:
**** Hidden Message *****

完整项目结构见:
https://gitee.com/hrpzcf/imgtoch
https://github.com/hrpzcf/imgtoch



小技巧 - 想要生成的图片中的字符能清晰可见:
参数scale不宜设置的过小,对于一般相片大小(如2976*3968)来说,0.2就还不错,1080*1920的照片则用0.3,效果也还可以;
其次要指定字体路径fontPath(不然字体大小不生效),将字体大小fontSize设置的大一点,比如36;
最后参数keepSize应设置为False,这样,最终生成的图片会非常大,但把图片放大后字符也一样清晰。

ydwb 发表于 2024-7-13 17:15:19

666

longweixu 发表于 2023-5-31 23:01:30

okk

未泯 发表于 2023-3-31 11:59:54

感谢楼主无私奉献!

豆馅 发表于 2022-12-3 21:58:44

66666

02pythoncainiao 发表于 2022-12-3 21:40:04

求代码

k陈聪 发表于 2022-12-3 10:49:41

1111111

我是你爹ya 发表于 2022-12-2 00:32:59

期末作业靠你了

元豪 发表于 2022-11-26 17:30:04

来看看~

shiyouroc 发表于 2022-6-11 13:35:28

进收藏夹吃灰吧

nosteam 发表于 2022-6-11 00:25:39

https://gitee.com/hrpzcf/imgtoch
中国的网站不行,要登录才能看,违背互联网开放思维,还宣称传播开源,呸

Sungne_jer 发表于 2022-5-23 16:04:35

棒棒哒

隔壁老程呀 发表于 2022-2-4 10:06:11

学习了

LJJ00000 发表于 2021-10-18 21:36:43

6666666

秃头的Python 发表于 2021-10-12 16:09:02

大佬

帅昊昊昊 发表于 2021-10-11 22:51:58

收藏收藏

秃头的Python 发表于 2021-10-11 16:54:19

1

青出于蓝 发表于 2021-9-30 20:57:25

学习

fm5 发表于 2021-9-23 21:24:30

1

KelinZ 发表于 2021-9-23 16:57:19

{:10_254:}6666,好厉害
页: [1] 2 3 4 5
查看完整版本: 将图片转为有趣的字符图片,更新 0.2.2 支持自定义字符,已上传 PyPi