如何裁剪图像,如大小为 476X248px 的 Facebook 提要图像

Posted

技术标签:

【中文标题】如何裁剪图像,如大小为 476X248px 的 Facebook 提要图像【英文标题】:how to crop image like facebook feed image of size 476X248px 【发布时间】:2017-11-01 15:56:06 【问题描述】:

我想显示使用 page_id/feed Facebook graph API 发布的帖子的预览

当您看到任何 facebook feed 的帖子时,他们总是会裁剪 476X248px 尺寸的图像。当我调整相同尺寸的图像大小时,整张图像会被调整大小,而 FB 正在使用一些计算来裁剪图像,我想知道它们是如何裁剪图像的,这样我就可以显示 Facebook 提要图像的预览。

如果图像不是 600*315 的比例,则 FB 不会显示完整图像,而它会以不可见图像的某些部分的方式裁剪图像,并且当我在控制台中查看该图像时,它们会将其裁剪为尺寸476X248px。

请帮助我如何使用 php 裁剪该图像,如 FB。

original image of size 1000X400

cropped image by FB

【问题讨论】:

Resize then crop PHP的可能重复 如果 facebook 提要只是一个示例,您应该删除这些标签。据我所知,问题只是关于调整图像大小和裁剪图像。 @MagnusEriksson 不,它不一样我不想将它裁剪成正方形,而我需要它像 FB 提要一样,请查看我附加的图像并再次提问,没有 facebook 不仅仅是示例我的问题就是一切 您显然需要修改脚本以满足您的需要。您是否希望我们为您完成所有工作? SO 不是免费的编码服务。 @MagnusEriksson 没有人我只是在问逻辑:) Facebook 使用什么来裁剪和调整图像大小。我知道 php 代码可以裁剪和调整大小,但我需要知道以这种方式裁剪图像的逻辑 【参考方案1】:

如果我理解正确,您只是希望将图像裁剪为 facebook 使用的尺寸?您想先声明图像,然后应用您要查找的尺寸。

<?php
$image = imagesource('example.png');
$size = min(imagewidth($im), imageheight($im));
$croppedimage = imagecrop($im, ['x' => 0, 'y' => 0, 'width' => $size, 'height' => $size]);
?>

【讨论】:

当我以这种方式裁剪图像时,会调整整个图像的大小,但不会像 Facebook 裁剪那样。完全调整大小意味着裁剪完整图像后可见。

以上是关于如何裁剪图像,如大小为 476X248px 的 Facebook 提要图像的主要内容,如果未能解决你的问题,请参考以下文章

调整图像大小而不扭曲或裁剪它

图像调整大小和裁剪

如何使用 mogrify 裁剪图像

在 Wordpress 中定义新的裁剪图像大小

裁剪背景图像,然后调整大小以适应特定尺寸 CSS/HTML

如何裁剪图像边缘