当我使用应用程序引擎调用图像调整大小时,它们会保持它们的纵横比 - 我最终不会得到我要求的大小。
我正在尝试从方形像素源制作矩形像素 NTSC 图像,所以我不想要这种行为
我想拍摄 720x540 的图像并将其调整为 720x480,但是当我要求调整大小时,我实际上最终得到的是 640x480 的图像。
有没有办法解决这个问题?
当我使用应用程序引擎调用图像调整大小时,它们会保持它们的纵横比 - 我最终不会得到我要求的大小。
我正在尝试从方形像素源制作矩形像素 NTSC 图像,所以我不想要这种行为
我想拍摄 720x540 的图像并将其调整为 720x480,但是当我要求调整大小时,我实际上最终得到的是 640x480 的图像。
有没有办法解决这个问题?
唉,虽然PIL本身可以做到这一点,但这并不是 App Engine 非常简单的images
功能所使用的(您可能会对 SDK 确实使用 PIL 在您的开发机器上实现该功能的 API 的事实感到困惑)——特别是,resize
总是尊重纵横比。您获得更高功能的机会取决于在应用引擎的问题跟踪器上提出要求,并希望许多开发人员有这种需求!
你是否给 resize 方法一个宽度和一个高度?
http://code.google.com/appengine/docs/python/images/functions.html
Adam McGrath在他的回答中写了一个很棒的 rescale 函数,可以将图像裁剪到特定的宽度和高度。
为什么不使用该crop
功能?
将 720x540 转换为 720x480 图像的正确参数是(假设您想要中心裁剪):
crop(bytestream, 0, 0.055, 1, 0.945, output)
该crop
函数将其参数作为图像宽度或高度的比例,指定为从 0.0 到 1.0 的浮点值。