我的方法不调整图像的宽度和高度,它只是调整大小

My method doesn't resize the width and the height of images it just resize the size

我的方法不会调整图像的宽度和高度,它只会调整图像的大小。

我使用了一个 python 库,它是 PIL。

import PIL
from PIL import Image
def resizeImg(img):
  mywidth = 320
  wpercent = (mywidth/float(img.size[0]))
  hsize = int((float(img.size[1])*float(wpercent)))
  img = img.resize((mywidth,hsize), PIL.Image.ANTIALIAS)
  return img

图片原来是1MB,现在只有130KB,这正常吗?我期待得到不同的宽度和高度。

是的,这看起来很正常。 你所做的实际上是对图像进行重新采样。

如果您的输入图像的水平像素大小超过 320 像素,则实际上是在降低清晰度(像素数),因此文件大小较差。 例如,如果您不想更改定义而只想更改 printing/display 大小,您可以考虑缩放 dpi。

这可以在保存时通过如下方式完成:

img.save(filepath, format=fmt, dpi=(dpi, dpi))

您必须根据需要计算水平和垂直 dpi 值。 这不会改变文件大小。