最佳答案
有很多方法。我会使用 ImageDraw 在 Python 图像库中亲自创建图像的 draw.text,转换为 NumPy数组(usint NumPy 的 asarray )然后用 Matplotlib 渲染. (需要 Matplotlib maintenance package )。
完整代码(在 2.5 中):
import numpy, pylab
from PIL import Image, ImageDraw, ImageFont
import matplotlib.axes3d as axes3d
sz = (50,30)
img = Image.new('L', sz, 255)
drw = ImageDraw.Draw(img)
font = ImageFont.truetype("arial.ttf", 20)
drw.text((5,3), 'text', font=font)
img.save('c:/test.png')
X , Y = numpy.meshgrid(range(sz[0]),range(sz[1]))
Z = 1-numpy.asarray(img)/255
fig = pylab.figure()
ax = axes3d.Axes3D(fig)
ax.plot_wireframe(X, -Y, Z, rstride=1, cstride=1)
ax.set_zlim((0,50))
fig.savefig('c:/test2.png')
显然还有一些工作要做,消除轴、改变视角等。
关于python - 生成 3D 验证码 [图片],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12960377/