Skip to main content

生成文字图片

Project description

Documentation

生成文字图片:在一定的区域,支持换行,丢弃,缩小来完成适应区域 The documentation is hosted at https://github.com/BingerYang/pyfont

Installation

pip install pyfont

Usage

example: 1. write 通过控制 limit_width, limit_count 与 传入回调返回,决定是否保留换行,或者截断丢弃

# -*- coding: utf-8 -*-
from pyfont import FontAttr, FontDraw
from PIL import Image

image = Image.new('RGBA', (int(400), int(400)), (1, 1, 1, 0))
path = 'C:\Windows\Fonts\simsun.ttc'
font = FontAttr(path=path, size=20, limit_width=220, fill_color=(1, 1, 1, 255))
# obj = FontDraw(bg=image, font=font)
obj = FontDraw(font=font)

# 通过控制 limit_width,limit_count 与 传入回调返回,决定是否换行,或者丢弃
# limit_text_cb=None 不处理(超过)
# limit_text_cb 返回值False丢弃多余,返回True(保留换行)
def limit_text_cb(index, line, state):
    print('index:', index, line[index:], state)
    return True


result = obj.write(text="我们是中国人,我爱我的祖国\n你好", limit_text_cb=limit_text_cb)
img = result.img
print(img.size)
img.show()
print(font.size, font.line_height)
  1. 通过 limit_width, limit_height 适当的缩小字体范围,以适应区域

from pyfont import FontAttr, FontDraw
from PIL import Image

image = Image.new('RGBA', (int(400), int(400)), (1, 1, 1, 0))
path = 'C:\Windows\Fonts\simsun.ttc'
font = FontAttr(path=path, size=20, limit_width=220, fill_color=(1, 1, 1, 255))
# obj = FontDraw(bg=image, font=font)
obj = FontDraw(font=font)

text="我们是中国人,我爱我的祖国\n你好"
size = obj.get_size_at_limit_range(text, font.size)
font.size = size
result = obj.write(text=text)
print(result.offset, result.lines)
img = result.img
print(img.size)
img.show()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyfont-0.0.2.2002518.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

pyfont-0.0.2.2002518-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

File details

Details for the file pyfont-0.0.2.2002518.tar.gz.

File metadata

  • Download URL: pyfont-0.0.2.2002518.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.8

File hashes

Hashes for pyfont-0.0.2.2002518.tar.gz
Algorithm Hash digest
SHA256 e7c460617e561c43f26b38b106c5e486042fb26ca0087fcc089b411dee9f3db8
MD5 043c2043bd271d21e6d07befefa41c88
BLAKE2b-256 3c769945f1493b734d1437c083f665cb71986029c55d0bc743b370532a6c07a5

See more details on using hashes here.

File details

Details for the file pyfont-0.0.2.2002518-py3-none-any.whl.

File metadata

  • Download URL: pyfont-0.0.2.2002518-py3-none-any.whl
  • Upload date:
  • Size: 13.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.8

File hashes

Hashes for pyfont-0.0.2.2002518-py3-none-any.whl
Algorithm Hash digest
SHA256 5f587a4572b630d38278c2cf88170e947bb50d5789940b4014fd622444f2d01c
MD5 0b44d01ae0557bec658abba135e063e6
BLAKE2b-256 c339803a5d5c6780731072d926fc126815ea1a42118e4dd3fc178eace3ee4675

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page