5

製品のプレビュー画像がたくさんありますが、それらは同じ寸法ではありません。

だから、保存せずに外出先で画像をトリミングすることは可能ですか?

これらの2つのリンクは、私が何を意味するかを示すはずです:

http://xn--nstvedhandel-6cb.dk/alpha_1/?side=vis_annonce&id=12

http://xn--nstvedhandel-6cb.dk/alpha_1/?side=vis_annonce&id=13

4

3 に答える 3

5

はい、これが私がそれを行う方法である可能性があります:

//Your Image
$imgSrc = "image.jpg";
list($width, $height) = getimagesize($imgSrc);
$myImage = imagecreatefromjpeg($imgSrc);

// calculating the part of the image thumbnail
if ($width > $height)
{
    $y = 0;
    $x = ($width - $height) / 2;
    $smallestSide = $height;
 } 
 else
 {
    $x = 0;
    $y = ($height - $width) / 2;
    $smallestSide = $width;
 }

 // copying the part into thumbnail
 $thumbSize = 100;
 $thumb = imagecreatetruecolor($thumbSize, $thumbSize);
 imagecopyresampled($thumb, $myImage, 0, 0, $x, $y, $thumbSize, $thumbSize, $smallestSide, $smallestSide);

 //final output
 header('Content-type: image/jpeg');
 imagejpeg($thumb);

これは非常に軽い操作ではありません。他の操作と同様に、サムネイルをファイルシステムに作成した後、サムネイルを保存することをお勧めします。

PHPのGDライブラリをチェックしたいかもしれません。

于 2012-08-31T09:05:39.660 に答える
2

この簡単なスクリプトを試してみてください: https://github.com/wes/phpimageresize

また、パフォーマンスの問題に役立つはずのキャッシングも可能です。

ただし、画像のサイズを変更してサムネイルとして保存することも好みます。

于 2012-08-31T09:04:22.127 に答える
1

それは確かに可能ですが、あなたがやりたいことはおそらく良い考えではありません.その理由は次のとおりです.

画像を切り抜いて保存すれば、あなた (またはあなたのサーバー) は二度とそれを行う必要はありません。軽い手術ではありません。

ただし、その場でトリミングを続けると、サーバーは毎回その作業を行う必要があり、非常に非効率的です。

最悪のシナリオとして、(手動で行うのではなく) 必要なサイズに一度自動的にトリミングし、それらの結果を単純に保存してみませんか?

最後に、それが店舗であることを考えると、手動でトリミングすることで、商品に可能な限り最高の画像を提供し、それによって商品を販売する可能性を最大限に高めることができませんか?

于 2012-08-31T08:58:36.200 に答える