2012-08-31 22 views
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

+2

はい、イメージのサイズ変更操作が非常に高価で、毎回何度も何度も何度も何度も何度も何度もやりたければ*保存したいと思うかもしれません。 – deceze

答えて

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); 

これは他の人のように私はまた、あなたのファイルシステムにそれを作成した後、サムネイルを保存することができreccomend、verryライト操作ではありません。

PHP's GD libraryをチェックしてみてください。

1

それは確かに可能ですが、どのようなあなたはおそらくやりたいと思っていることは良いアイデアではありません - ここに理由です。

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

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

最悪の場合、手動で行うのではなく、必要なサイズに一度自動的にトリミングしてその結果を保存するのはなぜですか?

最後に、店舗であることを考えれば、手動で切り取って商品を最高の画像にすることはできません。キャッシングにまた可能にhttps://github.com/wes/phpimageresize

、パフォーマンスの問題を支援する必要があります

2

あなたはこの単純なスクリプトを試してみたいことがあります。

しかし、画像のサイズを変更してサムネイルとして保存することもおすすめします。