gpt4 book ai didi

php - 如何调整图像大小然后用白色背景将其集中?可以使用 php-Imagine 库来完成吗?

转载 作者:行者123 更新时间:2023-12-04 22:50:45 27 4
gpt4 key购买 nike

我想要生成的效果与中的示例完全相同
this StackOverflow thread :(相关问题)

1.调整图片大小
2.保持比例
3.添加或填充白色背景的非图像区域

以下是此过程的三个示例:
1.如果原件是正方形的,无论是640*640还是1024*1024,只要将其调整为目标尺寸即可,例如480*480 可以。
enter image description here

  • 如果原始输入是垂直矩形,则不应裁剪输出
    并且仍然像下面这样居中(红色虚线边缘标记只是为了更容易看到背景是白色的,并且在图像调整为 480*480 像素后保持比例)
    enter image description here
  • 如果原始输入是水平矩形,输出如下图,白色背景,保持比例和图像未裁剪,因此图像处理后不会丢失任何内容。
    enter image description here

  • 所以在我澄清了这样一个问题之后,
    我想知道:
  • 上面提到的这种自定义图像调整大小是否有一个通用名称?
  • 想知道如何使用php图像库来实现想象一下?
    是否可以使用 php-imagine,或者必须切换到另一个库,例如 imagemagick ?

  • 附言如果你想达到 中的任一效果图片大小调整 视频大小调整 , 你可以使用下面的 FFMPEG 单行命令。
    (感谢@Mulvya,是的,下面的代码适用于视频和图像格式)

    [在ffmpeg控制台中运行下面的内置代码以实现上述resize效果]

    [视频调整大小]
    ffmpeg -i "[raw video url or videofile location.mp4]"  -vf "scale=iw*min(480/iw\,480/ih):ih*min(480/iw\,480/ih),pad=480:480:(480-iw)/2:(480-ih)/2:color=white" [save_path_and_filename].mp4  

    [图像调整大小]
    ffmpeg -i "[raw image url or imagefile location.jpg]"  -vf "scale=iw*min(480/iw\,480/ih):ih*min(480/iw\,480/ih),pad=480:480:(480-iw)/2:(480-ih)/2:color=white" [save_path_and_filename].jpg

    最佳答案

    对不起,我没有给你完整的答案,评论太长了,但这可以使用一些数学和 php 的 http://php.net/manual/en/ref.image.php 本地完成。

    检查 imagecopyresize() imageecreate() imagescale 等区域。这是一个非常复杂的库,所以你必须做一些尝试和错误才能到达你想去的地方。

    根据经验,您可以:

  • 创建一个空图像,imagecreatetruecolor()
  • 将背景颜色更改为白色
  • 使用 imagecopyresample() imagecopyresize()
  • 截取图像并将其粘贴到新创建的图像中
  • 将此图像导出为 gif、png、jpg。图像PNG(),图像JPG()。
  • 加水印
  • 还有更多。

  • 抱歉,我没有更完整的答案,但根据您的需要,可能需要几个小时/小时才能使其完美。玩得开心。

    最重要的是,如果您了解 ffmpeg,则可以使两者一起工作并制作出色的媒体输出。祝贺你

    关于php - 如何调整图像大小然后用白色背景将其集中?可以使用 php-Imagine 库来完成吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42059579/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com