基本上我想做的是为我的个人网站创建一个封面,就像 facebook 一样。基本上,我使用与 facebook 相同的封面布局,以便用户在我的网站和 facebook 上使用相同的封面时可以获得相同的结果。
我坚持的部分是“拖动图像以定位封面”的事情。Facebook 使用一些算法在拖动时将封面图像大小转换为不同的东西。例如,如果原始图像尺寸为920x720,则同一图像在facebook设置封面页面(将图像拖动到封面物位置)的尺寸为851x638。
我只是想知道 facebook 使用什么算法来设置图像尺寸(从 720 到 638)
注意:封面必须是完美的像素
我知道 facebook 的封面尺寸是 851x315,所以这就是我正在做的事情:
//$x = X origin cordinate variable obtained by dragging image
//$y = Y origin cordinate variable obtained by dragging image
list($k, $l) = getimagesize($src); // $src == image source
//$w = Needs to be calculated
//$h = Needs to be calculated
$img_r = imagecreatefromjpeg($src);
$dst_r = ImageCreateTrueColor( 854,316 );
imagecopyresampled($dst_r,$img_r,0,0,$x,$y,$w,$h,$k,$l);
imagejpeg($dst_r,$src,$jpeg_quality);
$img_name = writeToImage($src, $des); //writeToImage() is just a demo function created by me to do some other things with them which do not affect this part of code
echo $img_name;
我需要弄清楚 facebook 如何从前一个计算图像的新尺寸。它是取决于图像的实际(原始)大小还是取决于其他一些因素?