基于网页的Python动态图像创建
我刚开始学习Python,想做一个可以把文字转换成图片的网页工具。
我已经成功写出了能把文字转换成图片的代码,使用了PIL这个模块(也就是说,用户在运行时输入文字,程序会把它转换成图片并保存在硬盘上)。
现在我想把这段代码放到网页上运行(类似于网站上的反馈或评论表单)。
a. 这个网页会让用户在一个文本框里输入字符串,点击一个按钮后,就会把输入的文字转换成图片,并重新加载页面。
b. 页面重新加载后,会显示转换后的图片,同时也会再提供一个文本框,方便其他用户继续输入文字进行转换。
我开始使用Google Web Apps框架,但不幸的是,我发现Google Web Apps不支持PIL模块,虽然它提供了一个图像API,但不能根据用户输入动态生成图片。
所以,有谁能指导我,怎么把我的Python代码和网页结合起来,让它能正常工作呢?
请告诉我该去哪里寻找信息,以及任何你认为我需要知道的内容,以便我能继续进行下去。
2 个回答
你可以使用任何现有的网页脚本语言来构建实际的网页。比如说,Python(像Django那样)、PHP、ASP.NET、Perl CGI都可以用。如果你使用的是基于Python的网页框架,只需在代码中包含这个函数后直接调用你的Python代码,然后提供生成的图像。如果不是的话,你可以在Python脚本中使用系统调用(system/exec/passthru)来运行你的代码,并把文本作为输入,这样就能得到图像的源文件作为输出。
要把这些内容放到一个网页上,你需要以下几个东西:
- 一个包含表单和文本框的网页
- 一个网页脚本语言页面,它在通过GET或POST接收文本输入后会生成并展示一张图像。举个例子:Django展示图像
- 一旦用户提交了表单,应该在表单下方的框架或div中加载表单数据传递给脚本的结果。这个可以通过很多不同的方法实现,比如使用JavaScript或框架。
看看 webpy,这是一个非常简单的Python网页框架。在web.py这个模块里,你可以导入你的PIL图像转换器,然后通过 web.input()
获取提交表单中的文本,把这个文本转换成图像,并在页面上显示出来。你应该能用十几行代码就搭建一个简单的网页。