2011-05-16 57 views
5

我搜索了一段时间,然后有一个函数调用get_image_dimensions(),但是,据我的理解,它适用于下载或称为本地的图像。因此,任何函数或解决方案(如PHP中的getimagesize),我们可以通过URL获取图像的维度,而不是路径到本地?是否有一个像PHP中的getimagesize一样的Python函数?

回答

9

使用Python图像库(PIL)

from PIL import Image 
im = Image.open("fileName.jpg") 
im.size 

如果你有一个网址,通过的urlopen打开它,将文件对象传递给Image.open

import urllib2 as urllib 
fd = urllib.urlopen("http://a/b/c") 
im = Image.open(fd) 
im.size 
1

PHP可以打开一个URL就像它做一个文件一样。这可能是一个福音(就像你的情况),或者是一个祸害(如远程文件包含漏洞)。

Python选择明确表示文件是文件,而远程资源(例如URL)是远程资源。

如果您需要一些实用功能从远程资源获取图像大小,则可能需要将包装器写入本地。通常您只需要读取大约4096个字节来确定图像大小。

多一点工作,是的,但没有像PHP中的魔法。

+0

感谢您的回答 – Yann 2011-05-16 09:35:01

相关问题