用python从网站下载图像的一部分?

用python从网站下载图像的一部分?,python,image,image-processing,python-imaging-library,urllib,Python,Image,Image Processing,Python Imaging Library,Urllib,我目前可以使用 from PIL import Image, ImageTk import cStringIO import urllib url = http://prestigemgmt.us/wp-content/uploads/2013/03/dog.jpg self.image = Image.open(cStringIO.StringIO(urllib.urlopen(url).read())) 它工作良好,并从网站上获得整个图像。我的问题是,有没有办法得到,让我们说,只有图像的

我目前可以使用

from PIL import Image, ImageTk
import cStringIO
import urllib

url = http://prestigemgmt.us/wp-content/uploads/2013/03/dog.jpg
self.image = Image.open(cStringIO.StringIO(urllib.urlopen(url).read()))
它工作良好,并从网站上获得整个图像。我的问题是,有没有办法得到,让我们说,只有图像的右半部分


我知道我可以在下载后编辑图像,但速度是一个重要方面,因此理想情况下我只下载我需要的内容。

这是不可能的

常见的图像文件格式(如PNG和JPEG)的编码方式使您无法在不下载完整图片的情况下下载图片的任意部分

你需要下载整个图片,解码并在下载后进行编辑

对于高级知识,您可以随时学习文件格式


如果由提供图像的服务器控制,则可以编写服务器端脚本,在服务器上编辑图像,然后通过网络发送编辑。

不,这是不可能的。如果不解码整个图像,然后提取所需的数据,这是不可能的。压缩图像时,图像中的所有像素(JPEG、PNG等)都是相互依赖的。这是不可能的,但文件I/O通常是一个主要瓶颈。因此,您最好不要下载图像并将其保存到磁盘,然后打开它,而是将图像直接读取到内存,然后进行裁剪。谢谢您的回复。不幸的是,尽管如此,我并没有控制服务器——除了获取整个图像,我什么也做不了。