【发布时间】:2011-08-26 05:16:27
【问题描述】:
我搜索了一段时间,并且有一个函数调用 get_image_dimensions(),但是,据我了解,它适用于下载或本地的图像。那么,任何函数或解决方案,如 PHP 中的 getimagesize,我们都可以通过 URL 获取图像的尺寸,而不是本地路径?
【问题讨论】:
标签: python image url dimension
我搜索了一段时间,并且有一个函数调用 get_image_dimensions(),但是,据我了解,它适用于下载或本地的图像。那么,任何函数或解决方案,如 PHP 中的 getimagesize,我们都可以通过 URL 获取图像的尺寸,而不是本地路径?
【问题讨论】:
标签: python image url dimension
使用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
【讨论】:
PHP 可以像打开文件一样打开 URL。这可能是一个福音(如您的情况),也可能是一个祸根(如远程文件包含漏洞)。
Python 选择明确表示文件是文件,而远程资源(例如 URL)是远程资源。
如果您需要一些实用功能来从远程资源获取图像大小,您可能需要为本地资源编写一个包装器。通常只需要读取大约 4096 字节即可确定图像大小。
更多的工作,是的,但没有 PHP 那样的魔力。
【讨论】: