ちょっとみんな、画像を一定のサイズにリサイズするPHPスクリプトがありますしかし、それが違うなら、最初に作物を作ってしまうのです。私はちょうど私のロジックが正しいチェックしたい、これはすべての送信元と送信先の画像サイズに関連する寸法を計算することを:私は、これはすべての事態をキャッチしてのx、y座標を開始生成する必要が出て働くことができるものから、画像のリサイズ/クロッピングのロジックは正しいですか(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;
}
($srcx
および$srcy
)およびソース寸法($srcwidth
,$srcheight
)であり、これを次にimagecopyresampled
に渡すことができる。
私がチェックしたかった主な点は、比率チェックでこれを壊すので、$srcheight
と$srcwidth
が元の幅/高さより大きくなるのを防ぐことでしたが、私はそれはできないと思いますか?
ありがとうございます。
デーブ
あなたの答えをありがとう、私は変数の初期化について同意します。私は多変量でそれをテストしましたが、それはいつも元気に戻ってきますが、実際には、幅と高さが関係なく、これらが決して上回らないと思っていることを数学的にチェックしたかったのですか? – deshg