最近想实现一个图片验证的Python代码,被PIL卡住了。
因为看了PIL的一些demo,就是没有看到直接将image转换成内存数据或可以直接print数据的,总不成我要将image先存成临时文件吧?这我可接受不了,我试了好长时间终于在limodou那里的一篇文章找到了灵感,原来是使用StringIO。
以下就是代码(注意,如果是从数据库中读取数据,要转换成image对象很容易,这里不叙述):
# Create your views here.
from django.http import HttpResponse
import Image, ImageDraw
import StringIO
def validate(request):
#创建一个IO流对象
mstream=StringIO.StringIO()
#这是我想要从querystring中获取的显示图片的字符(如果想要图片验证,则加密它,注意我没有使用session存储这个需要显示的字符串,因为session消耗资源太大)
text = request.REQUEST["pstr"]
#我这里演示的是直接产生的字符串,实际中需要加入噪音线
im = Image.new("RGBA", (80, 20),color=127*200)
draw = ImageDraw.Draw(im, "RGBA")
draw.ink = 255
draw.text((0,0), text)
im.save(mstream,"JPEG")
return HttpResponse(mstream.getvalue(),"image/jpg")
好了,如果你配置了django,可以加一个view试一试,如果没有,去掉跟django有关的,其他代码照样可以使用。
分享到:
相关推荐
- **后端处理**:服务器接收到图片数据后,通常会将其保存到指定的文件系统路径或数据库中。文件名可能需要重命名以避免冲突,同时也要考虑安全问题,比如防止路径遍历攻击。 2. **图片读取**: - **服务器端读取...
1. 图片存储:可以将图片以BLOB(二进制大对象)类型存储在数据库中,或者使用外部链接存储,如云存储服务。 2. 图片检索:实现高效的图片搜索,可能涉及图像特征提取(如色彩直方图、纹理分析)和索引建立。 3. ...
7. **上传图片到数据库中和显示缩略图.txt**:这个文件可能是文档教程,详细解释了如何将图片数据存入数据库(如BLOB类型字段),以及如何从数据库中读取并显示缩略图。数据库存储图片适用于小规模应用,但对性能和...
2. **文件存储**:图片需要被安全地存储在服务器上,可能采用本地文件系统、云存储服务(如AWS S3或阿里云OSS)或者是数据库的BLOB类型字段。存储策略要考虑扩展性、备份、安全性以及成本。 3. **图片处理**:可能...
在Python生态系统中,库是复用代码的基础,它们提供了各种功能,从数据处理到网络通信,无所不包。kosmorrolib可能包含了特定的工具或模块,帮助开发者更高效地完成任务。然而,由于没有提供具体的库功能描述,我们...
【标题】"Ameme"可能是指一个与Python相关的开源项目或工具,可能是一个用于创建、分享和传播Meme(一种互联网文化现象,通常为带有幽默感的图片或文字)的库或者应用程序。由于信息有限,我们可以从Python编程语言...
在IT行业中,图像托管服务是指提供存储和分享图片的在线平台,用户可以上传图片并获取可分享的URL,以便在其他网站或应用中引用这些图片。这类服务通常用于博客、论坛、社交媒体和个人网站。 从文件名"ImageHost-...
3. **存储**:处理后的头像会存储在服务器上,可能是本地文件系统、云存储服务或数据库中的BLOB字段。 4. **代币验证**:用户每次访问或操作头像时,可能需要通过JSON Web Token验证其身份。 5. **JSON接口**:服务...
标题中的“imagehost:是我的个人形象主持人”似乎指的是一个个人形象管理或品牌塑造的平台,可能是一个网站或者应用,用于展示个人风采、作品集或服务。然而,由于提供的信息非常有限,我们需要根据“描述”部分...
常见的后端语言可能是Python、Java或Node.js,搭配Spring Boot、Django或Express.js框架。 6. **数据库**:用于存储用户信息、文件元数据等,可能使用关系型数据库如MySQL或PostgreSQL,或者非关系型数据库如...