0

Jcropを使用して、アップロードされた画像をトリミングしてユーザーのアバターにすることができます。

基本的に、次のフォームを使用して画像をトリミングして投稿すると、「Content-type:image/jpeg」ヘッダーから画像情報を取得するのに問題があります。

<img src='*userimage*' id='cropbox' />
<form action='crop.php' method='post' onsubmit='return checkCoords();'>
<input type='hidden' id='x' name='x' />
<input type='hidden' id='y' name='y' />
<input type='hidden' id='w' name='w' />
<input type='hidden' id='h' name='h' />
<input type='submit' value='Crop Image' />
</form>

この投稿先のページには、次のコードのみが含まれています。

<?php

$targ_w = $targ_h = 150;
$jpeg_quality = 90;

$src = 'userimages/63/63.jpg';
$img_r = imagecreatefromjpeg($src);
$dst_r = ImageCreateTrueColor( $targ_w, $targ_h );

imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'],
$targ_w,$targ_h,$_POST['w'],$_POST['h']);

header('Content-type: image/jpeg');
imagejpeg($dst_r,null,$jpeg_quality);
?>

これは素晴らしいトリミングされた画像を示していますが、このようにcrop.phpページに投稿したくありません。サイトのヘッダー/フッター/スタイルなどを含め、トリミングされた画像をファイル名として表示できるようにしたいので、ユーザーに承認して適切なフォルダーに保存することができます。

誰か助けてもらえますか?

ありがとう

4

1 に答える 1

0

ヘッダーをコメントアウトし、保存先のパスを指定するだけで、これを理解できました。

//header('Content-type: image/jpeg');
imagejpeg($dst_r,"userimages/$user_id/$user_id.jpg",$jpeg_quality);
// Remove from memory
imagedestroy($dst_r);
于 2012-09-16T20:46:31.107 に答える