jcrop
ユーザーが自分の画像のサムネイルを作成できるようにするために使用しようとしています190x190 pixels
.
jcrop
動作しているようで、正しい座標を送信してくれます。しかし、imagecopyresampled
非常に予測不可能な動作をしているようで、期待どおりの結果が得られません。これが私のコードです:
$destWidth = $destHeight = 190;
$jpeg_quality = 90;
$path = Yii::app()->basePath."/../images/user/";
$src = $path.$model->image;
$img_src = imagecreatefromjpeg($src);
$img_dest = ImageCreateTrueColor( $destWidth, $destHeight );
imagecopyresampled(
$img_dest, //destination image
$img_src, //source image
0, //top left coordinate of the destination image in x direction
0, //top left coordinate of the destination image in y direction
$_POST['x'], //top left coordinate in x direction of source image that I want copying to start at
$_POST['y'], //top left coordinate in y direction of source image that I want copying to start at
$destWidth, //190, thumbnail width
$destHeight, //190, thumbnail height
$_POST['w'], //how wide the rectangle from the source image we want thumbnailed is
$_POST['h'] //how high the rectangle from the source image we want thumbnailed is
);
imagejpeg($img_dest,$path."thumbs/test.jpg",$jpeg_quality);
私は真剣に途方に暮れています.4つの$_POST
変数がすべて正しく入っていることを確認しましたが、何らかの理由で適切なサムネイルを取得できません. 私が確かに言えることは、サムネイルが通常ズームインしすぎていることと、開始したい左上隅が使用されていないことです。