Привет всем, у меня есть php-скрипт для изменения размера изображения до определенного размера, если аспект такой же, он просто изменяет их размер, но если он отличается, он сначала обрезает их. Я просто хотел проверить правильность своей логики и рассчитать соответствующие размеры для всех размеров исходного и конечного изображений:
$sourceratio = $actualsourcewidth / $actualsourceheight;
$targetratio = $targetwidth / $targetheight;
if ($targetratio < $sourceratio)
{
$srcheight = $actualsourceheight;
$srcwidth = $actualsourceheight * $targetratio;
$srcy = 0;
$srcx = floor(($actualsourcewidth - $srcwidth) / 2);
$srcwidth = floor($srcwidth);
} else if ($targetratio > $sourceratio)
{
$srcwidth = $actualsourcewidth;
$srcheight = $actualsourcewidth / $targetratio;
$srcy = floor(($actualsourceheight - $srcheight) / 2);
$srcx = 0;
$srcheight = floor($srcheight);
} else
{
// Same aspect ratio so you can resize the image without cropping
$srcheight = $actualsourceheight;
$srcwidth = $actualsourcewidth;
$srcx = 0;
$srcy = 0;
}
Из того, что я могу понять, следует уловить все возможные варианты и получить начальные координаты x, y ($srcx
и $srcy
) и исходные размеры ($srcwidth
, $srcheight
), которые затем могут быть переданы в * 1008. *.
Главное, что я хотел проверить, было то, что проверка соотношения не даст $srcheight
и $srcwidth
быть больше, чем исходная ширина / высота, так как это нарушит его, но я не думаю, что это будет?
Большое спасибо всем!
Dave