【问题标题】:App Engine image resize without maintaining aspect ratio?App Engine 图像在不保持纵横比的情况下调整大小?
【发布时间】:2010-12-03 06:22:09
【问题描述】:

当我使用应用引擎对图像调用 resize 时,它​​们会保持其纵横比 - 我最终不会得到我要求的大小。

我正在尝试从方形像素源制作矩形像素 NTSC 图像,所以我不想要这种行为

我想拍摄 720x540 的图像并将其调整为 720x480,但当我要求调整大小时,我最终得到的是 640x480 的图像。

有没有办法解决这个问题?

【问题讨论】:

    标签: google-app-engine image-processing image-manipulation python-imaging-library


    【解决方案1】:

    Adam McGrath 编写了一个很棒的重新缩放功能,可以将图像裁剪为特定的宽度和高度in his answer here

    【讨论】:

      【解决方案2】:

      唉,虽然 PIL 本身可以做到这一点,但这并不是 App Engine 非常简单的 images 功能所使用的(您可能会对 SDK 确实使用 PIL 在您的开发机器)——特别是,resize 总是确实尊重纵横比。您获得更高功能的机会取决于在应用引擎的问题跟踪器上提出要求,并希望许多开发人员有这种需求!

      【讨论】:

        【解决方案3】:

        为什么不使用crop function?

        将 720x540 图像转换为 720x480 图像的正确参数是(假设您想要中心裁剪):

        crop(bytestream, 0, 0.055, 1, 0.945, output)
        

        crop 函数将其参数作为图像宽度或高度的比例,指定为从 0.0 到 1.0 的浮点值。

        【讨论】:

        • 我不需要裁剪,我需要重新缩放。
        • 如何仅在 y 轴上重新缩放图像?您无法在不破坏纵横比的情况下进行缩放。如果你想调整大小,当然,如果你真的愿意,你可以挤压图像。
        • 我想破坏纵横比。这些是插入到将在 NTSC 电视上显示的视频中的图像。 NTSC 电视具有矩形像素。因此,当您在方形像素计算机上制作图像时,您必须在 Y 轴上挤压它,这样当它以矩形像素显示时,它会再次拉伸并看起来与原始图像相同。 PAL 是一样的,但你挤压 X 轴。 docs.info.apple.com/article.html?artnum=36836
        【解决方案4】:

        你是否给 resize 方法同时设置了宽度和高度?

        http://code.google.com/appengine/docs/python/images/functions.html

        【讨论】:

        • 是的,我是。 #这些字符击败评论最少:)
        猜你喜欢
        • 1970-01-01
        • 2021-07-21
        • 1970-01-01
        • 2013-05-12
        • 2013-06-26
        • 2012-04-15
        相关资源
        最近更新 更多