ttf字体python_python:使用windows api使用ttf字体呈现文本

完成并完成渲染字体(需要PyWin32):

import ctypes

import struct

import win32con

import win32gui

import win32ui

from PIL import Image

def RGB(r, g, b):

return r | (g << 8) | (b << 16)

def native_bmp_to_pil(hdc, bitmap_handle, width, height):

bmpheader = struct.pack("LHHHH", struct.calcsize("LHHHH"),

width, height, 1, 24) #w,h, planes=1, bitcount)

c_bmpheader = ctypes.c_buffer(bmpheader)

#3 bytes per pixel, pad lines to 4 bytes

c_bits = ctypes.c_buffer(" " * (height * ((width*3 + 3) & -4)))

res = ctypes.windll.gdi32.GetDIBits(

hdc, bitmap_handle, 0, height,

c_bits, c_bmpheader,

win32con.DIB_RGB_COLORS)

if not res:

raise IOError("native_bmp_to_pil failed: GetDIBits")

im = Image.frombuffer(

&#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值