0

はるかに小さい画像からフルサイズの画像のトリミング座標を計算する方法を理解しようとしています。たとえば、フルサイズの画像は1775 x 2664で、ユーザーがトリミングページに表示する画像(jCropを使用)は533です。 X800。

小さい画像のトリミング座標は次のとおりです。20,11,230,305

(左から開始、上から開始、左から終了、上から終了)

座標をフルサイズの画像にスケーリングするにはどうすればよいですか。

ユーザーがプレビューページで画像の一部を選択できるようにしてから、phpを使用してフルサイズの画像から画像の適切な部分を抽出できるようにする必要があります。

4

2 に答える 2

1

参考までに:http://en.wikipedia.org/wiki/Rule_of_three_%28mathematics%29#Rule_of_Three

// assuming fixed ratio on width and height
// which is the case in your example: ~33% for both dimensions
$FULL_WIDTH = 1775;
$SCALED_WIDTH = 533;

$ratio = $SCALED_WIDTH / $FULL_WIDTH;

$scaled_crop_coordinates = array(20, 11, 230, 305);

$full_crop_coordinates = array();
foreach($scaled_crop_coordinates as $val)
{
    $full_crop_coordinates[] = floor($val / $ratio);
}
var_dump($full_crop_coordinates);
于 2013-03-06T01:25:18.927 に答える
0

それはうまくいくはずです:

left = 20 * (1775/533)
top = 11 * (2664/800)
right = 230 * (1775/533)
bottom = 305 * (2664/800)
于 2013-03-06T01:23:58.500 に答える