【问题标题】:how to make a reduced image file in python如何在python中制作缩小的图像文件
【发布时间】:2015-06-12 11:39:15
【问题描述】:

我正在上一门编程课程,我们的项目是将图像缩小到原来的一半,然后再扩大一倍。

如何制作与以前相同但高度和宽度减小的新图片?

这是我的代码:

def main():
    originalPic=makePicture(pickAFile())
    show(originalPic)
    w=getWidth(originalPic)
    h=getHeight(originalPic)
    printNow(str(w)+ " \n" + str(h))
    if w % 2:
      reducedW=w/2
    else:
      reducedW=w/2+1  
    printNow(reducedW)
    if h % 2:
      reducedH=h/2
    else:
      reducedH=h/2+1
    printNow(reducedH)
    reducedPic=makePicture(reducedW, reducedH)
    show(reducedPic)

【问题讨论】:

  • 请缩进并正确格式化您的代码...很难看出它是否有问题。

标签: python image resize


【解决方案1】:

这是我在 PIL(枕头)中的做法:

from PIL import Image, ImageTk

my_image = Image.open('image.png') # open image
my_image = my_image.resize((my_image.size[0] * 2, my_image.size[1] * 2)) # resize
my_image.save('new_image.png') # save image
tk_image = ImageTk.PhotoImage(my_image) # convert for use in tkinter

【讨论】:

    【解决方案2】:

    作为初学者,您可能希望坚持使用 Pygame 而不是 PIL 来实际实现您的骨架代码。我们只需将图像加载到 Pygame 中,放大或缩小,然后保存。

    import pygame, sys
    
    pygame.init(); scale = 2 # or a half
    image = pygame.image.load('image.png')
    
    w = image.get_width() * scale 
    h = image.get_height() * scale 
    
    pygame.transform.scale(image, (w, h), image)
    pygame.image.save(image, 'scaled_image.png')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-07
      • 1970-01-01
      • 1970-01-01
      • 2018-08-01
      • 2018-08-03
      • 2014-06-12
      • 1970-01-01
      • 2020-01-11
      相关资源
      最近更新 更多