6

我已经搜索了一段时间,并且有一个函数调用 get_image_dimensions(),但是,据我所知,它适用于下载或本地的图像。那么,任何函数或解决方案,如 PHP 中的 getimagesize,我们都可以通过 URL 获取图像的尺寸,而不是本地路径?

4

2 回答 2

10

使用 python 图像库 (PIL)

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

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

import urllib2 as urllib
fd = urllib.urlopen("http://a/b/c")
im = Image.open(fd)
im.size
于 2011-05-16T06:59:08.007 回答
1

PHP 可以像打开文件一样打开 URL。这可能是一个福音(如您的情况),也可能是一个祸根(如远程文件包含漏洞)。

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

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

更多的工作,是的,但没有像 PHP 那样的魔法。

于 2011-05-16T07:00:36.457 回答