特大サイズ (高さ、幅) の jpeg 画像がたくさんあり、すべてサイズとアスペクト比が異なります。
私はこのようなデータベースからそれらを示しています:
<img src="<?php echo $img1; ?>" width="300" height="400">
私が欲しいのは、次のような画像のトリミングされたバージョンを表示するためのある種のphp関数です:
cropjpeg('$img1');
たとえば、画像が 600 W、700 H の場合、php または GD で、画像の左上から 300 W、400 H あたりのトリミングされたバージョンを表示します。
いくつかの注意事項:
CSS を使用して行うことはできません
faux cropping
。このトリミングされた画像をダウンロードする場合は、トリミングされた小さいバージョンである必要があります。新しい画像を作成して保存したくないので、「その場で」動作するためにこれが必要だと思います
imagecreatefromjpeg と imagejpeg を試してみましたが、まるでそうです
header('Content-Type: image/jpeg')
。この1つの画像だけでなく、htmlページにはもっとあるので、正しい答えではありませんサイトには多くのトラフィックがあるため、軽く踏む必要があります
これは私がこれまでに見つけた最高のものですが、それはheader('Content-Type: image/jpeg');
<?php
function cropjpeg($img, $x, $y, $width, $height,$grade=5)
{
// Create image instances
$src = imagecreatefromjpeg($img);
$dest = imagecreatetruecolor(400, 300);
// Copy
imagecopy($dest, $src, 0, 0, 20, 13, 400, 300);
// Output and free from memory
header('Content-Type: image/jpeg');
imagejpeg($dest);
imagedestroy($dest);
imagedestroy($src);
}
cropjpeg('images/bikini.jpg');
?>
何か案は?