问题描述
import pygame
from pygame import freetype
from text_utils import FontState
import numpy as np
import matplotlib.pyplot as plt
import _pickle as cp
pygame.init()
ys = np.arange(8,200)
A = np.c_[ys,np.ones_like(ys)]
xs = []
models = {} # linear model
FS = FontState()
# plt.figure()
# plt.hold(True)
for i in range(len(FS.fonts)):
font = freetype.Font(FS.fonts[i],size=12)
h = []
for y in ys:
h.append(font.get_sized_glyph_height(y))
h = np.array(h)
m,_,_ = np.linalg.lstsq(A,h)
models[font.name] = m
print("{}:\t{}".format(i,font.name))
xs.append(h)
with open('font_px2pt.cp','w') as f:
cp.dump(models,f)
# plt.plot(xs,ys[i])
当我运行时出现错误:
请帮帮我!
解决方法
作为第一次尝试,您可能会尝试使用 y
将 float
的值显式转换为 float(y)
(如错误消息所述)。