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.2002618.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyfont-0.0.2.2002618.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.2002618.tar.gz
Algorithm Hash digest
SHA256 e86bae0cd4b1eda41ccbf405b5578b1ffcb644845761b52545afab20650c9b93
MD5 421c1b00beb52c46e0b0d5589a312995
BLAKE2b-256 d6b74a7578be372beab1bc2148623f1622d083efd590d821b42f0c6b89ceaaab

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyfont-0.0.2.2002618-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.2002618-py3-none-any.whl
Algorithm Hash digest
SHA256 6ff35fee8f46d3a1d1789a793d266083a813f48c42bfa5ce807216310efc68fa
MD5 a894af63092d871891185b8346104326
BLAKE2b-256 055c4f318fac5ecf1b7032dabab44f1478325523089ba9e7f046328bda961c62

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