現在の位置: ホーム> 最新記事一覧> ImageFlip()とImageScale()を使用して、画像効果のカスタム処理のために画像を共同で切り取り、フリップする方法は?

ImageFlip()とImageScale()を使用して、画像効果のカスタム処理のために画像を共同で切り取り、フリップする方法は?

M66 2025-06-12

PHPの画像の処理は、特に画像の編集を自動化したり、アバターの収穫、サムネイルの生成、画像の美化などの画像処理機能を構築したい場合は、強力なスキルです。この記事では、ImageFlip()ImageScale()の2つのGDライブラリ関数をトリミング、スケール、フリップ画像に使用して、パーソナライズされた画像効果処理を実現する方法を紹介します。

1。環境を準備します

開始する前に、PHP環境でGDライブラリが有効になっていることを確認してください。次のコードを実行して確認できます。

 if (extension_loaded('gd')) {
    echo "GD 有効になっています";
} else {
    echo "有効にしてください GD 拡張";
}

2。画像をロードします

JPEG画像を例として取り、最初にメモリにロードしましょう。

 $imagePath = 'https://m66.net/images/sample.jpg';
$image = imagecreatefromjpeg($imagePath);

3。画像をトリミング(オプション)

元の画像の中央に200x200エリアをトリミングしたいとしたら、 imagecrop()を使用できるとします。

 $cropWidth = 200;
$cropHeight = 200;

$width = imagesx($image);
$height = imagesy($image);

$cropX = ($width - $cropWidth) / 2;
$cropY = ($height - $cropHeight) / 2;

$croppedImage = imagecrop($image, [
    'x' => $cropX,
    'y' => $cropY,
    'width' => $cropWidth,
    'height' => $cropHeight
]);

4.画像をズームします

Imagescale()を使用して画像をスケーリングします。たとえば、画像を100x100に縮小します。

 $scaledImage = imagescale($croppedImage, 100, 100);

また、幅のみを提供し、高さを自動的にスケーリングしてスケーリングすることもできます。

 $scaledImage = imagescale($croppedImage, 100);

5。画像をひっくり返します

次に、 ImageFlip()を使用して、画像を水平にまたは垂直に裏返します。

 // 水平フリップ
imageflip($scaledImage, IMG_FLIP_HORIZONTAL);

// 垂直フリップ(上記のアンケメント,代わりにこの行を使用してみてください)
// imageflip($scaledImage, IMG_FLIP_VERTICAL);

また、 IMG_FLIP_BOTHを使用して、同時に水平方向および垂直方向に反転することもできます。

6。画像を出力または保存します

処理された画像をブラウザに出力できます。

 header('Content-Type: image/jpeg');
imagejpeg($scaledImage);
imagedestroy($scaledImage);

またはサーバー上のファイルに保存します。

 imagejpeg($scaledImage, '/var/www/m66.net/public/processed.jpg');

まとめ

ImageFlip()ImageScale()を組み合わせて使用​​することにより、画像を柔軟に処理することができ、 ImageCrop()を組み合わせることで、より複雑な画像のカスタマイズ効果を実現できます。これは、画像エディター、ユーザーアバター処理モジュール、またはコンテンツ表示システムの作成に非常に役立ちます。

忘れないでください。ImageDestroy ()を使用して、すべての処理された画像リソースのメモリを解放して、スクリプトの効率とリソースのリリースを確保することを忘れないでください。

 imagedestroy($image);
imagedestroy($croppedImage);

この記事がPHPイメージ処理の道で役立つことを願っています!他の画像処理機能にも興味がある場合は、GDライブラリのより多くの機能を引き続き調べてください。