Python创建了一个函数,该函数从url中提取图片,然后调整为缩略图大小

时间:2018-07-29 05:10:22

标签: python

因此,在尝试编写将图像尺寸更改为大尺寸并将其另存为缩略图时,我一直遇到问题。我有如何检索刚丢失的图像。我知道枕头的知识,但不能上课,将不胜感激。

更新:到目前为止,我已经获得了调整图像大小并使其成为缩略图的代码。我要讲的下一部分是如果将其大小调整为thumbnail2,则将其保存,但如果保留为thumbnail1,则将其保存。到目前为止,这是我的代码,无需下一步。

 import urllib
url ="https://upload.wikimedia.org/wikipedia/commons/4/47/PNG_transparency_demonstra ion_1.png"
src = "C:\Users\laramie\Pictures\PNG_transparency_demonstration_1.png"


connect = urllib.urlretrieve(url, src)

def scalePicture(src): 
  newWidth = getWidth(src)/2
  newHeight = getHeight(src)/2
  canvas = makeEmptyPicture(newWidth, newHeight)
  for x in range(newWidth):
     for y in range(newHeight):
        setColor(getPixel(canvas, x,y), getColor(getPixel(src, x*2, y*2)))
  return canvas

def thumbNail():
   srcPic = makePicture(src) 
   destWidth = getWidth(srcPic) / 2
   destHeight = getHeight(srcPic) / 2
   destPic = makeEmptyPicture(destWidth, destHeight)

   destPic = scalePicture(srcPic)
   show(srcPic)
   show(destPic)



thumbNail()

1 个答案:

答案 0 :(得分:0)

您的代码中发生了很多奇怪的事情:

destPic = makeEmptyPicture(destWidth, destHeight)
destPic = scalePicture(srcPic)

此处的第一行不是必需的,因为destPic会立即被覆盖。

for x in range(newWidth):
   for y in range(newHeight):
      setColor(getPixel(canvas, x,y), getColor(getPixel(src, x*2, y*2)))

除非比例因子是整数,否则这是缩放图像的一种非常低效的方法,除非给出整数,否则这种方法的效果会较差。

我建议您使用import PIL(Python图像库)并使用它来处理图像。加载,保存,缩放或翻转图像等操作很容易完成。但是,如果python安装未附带该库,则可能需要安装。