ホームページ > バックエンド開発 > PHPチュートリアル > PHP で画像のスケーリングとトリミングを完了するにはどうすればよいですか? (詳細な例)

PHP で画像のスケーリングとトリミングを完了するにはどうすればよいですか? (詳細な例)

WBOY
リリース: 2023-04-10 17:54:02
オリジナル
3586 人が閲覧しました

前回の記事では、「PHP でグラフィカルな検証コードを描画する方法?」についてお届けしました。 」では、事前の知識に基づいて PHP でテキストを描画する方法と、グラフィック検証コードを描画する方法を紹介します。この記事では、グラフィックの拡大縮小とトリミングの方法を見てみましょう。皆様のお役に立てれば幸いです。

PHP で画像のスケーリングとトリミングを完了するにはどうすればよいですか? (詳細な例)

グラフィカルな検証コードを描画する方法を以前に学びました。次に、PHP 操作で画像のスケーリングとトリミングを実現する方法を見てみましょう。ただし、画像のスケーリングとトリミングを理解する前に、まず次の 2 つの関数について理解しましょう:

  • #imagecopyresampled<strong></strong> <strong></strong>: 画像のコピー部分をリサンプリングしてサイズ変更するために使用されます

  • ##imagecopyresize<strong> </strong><strong></strong>: 画像の一部をコピーし、サイズを変更するために使用されます。

  • これら 2 つの関数は画像をコピーし、画像の拡大縮小またはトリミングを完了するために使用できます。それらの構文形式パラメータは同じですが、違いは、画像の一部をコピーするか、画像全体をコピーするかです。構文形式は次のとおりです。

imagecopyresampled ($目标图 ,$来源图,$目标开始的x位置,$目标开始的y位置,$来源开始的x位置,$来源开始的y位置,$目标图片的宽 ,$目标图片的高,$来源图片的宽 ,$来源图片的高 )
ログイン後にコピー

ソース イメージの開始点 (x, y) から始まるイメージの指定された幅と高さ。対象画像の始点(x,y)に配置し、画像の幅と高さを指定します。

#画像を拡大する

画像を拡大する まず、dog.png という名前の画像を準備します。


グラフィックスのスケーリングを完了するには、コードで次の手順を実行する必要があります: PHP で画像のスケーリングとトリミングを完了するにはどうすればよいですか? (詳細な例)


ソース イメージを開きます

  • 画像の拡大率 (ズーム) を設定します

  • ソース画像を取得し、比率に従ってサイズを調整します

  • 指定された新しい画像を作成します。画像のサイズはターゲット画像です。

  • #ソース画像の調整されたサイズをターゲットに入れます。

  • # resource

  • 例は次のとおりです:

    <?php
    //打开来源图片
    $a = imagecreatefrompng(&#39;dog.png&#39;);
    //定义百分比,缩放到0.1大小
    $percent = 0.1;
    // 将图片宽高获取到
    list($width, $height) = getimagesize(&#39;dog.png&#39;);
    //设置新的缩放的宽高
    $new_width = $width * $percent;
    $new_height = $height * $percent;
    //创建新图片
    $new_image = imagecreatetruecolor($new_width, $new_height);
    //将原图$image按照指定的宽高,复制到$new_image指定的宽高大小中
    imagecopyresampled($new_image, $a, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
    header(&#39;content-type:image/jpeg&#39;);
    imagejpeg($new_image);
    ?>
    ログイン後にコピー
  • 出力結果:


上記より結果として、imagecopyresampledh 関数によって画像のスケーリングが完了します。

PHP で画像のスケーリングとトリミングを完了するにはどうすればよいですか? (詳細な例)

画像をトリミングします

画像をトリミングします。imagecopyresize関数を使用する必要があります。それを達成するために。次に、例を通して説明しましょう。

dog.png と logo.png という名前の 2 つの写真があります。

今すぐ欲しいのですが、ロゴ画像をトリミングして、それを犬の画像の上に置きます。これはどのように実現すればよいでしょうか?主な手順は次のとおりです。

PHP で画像のスケーリングとトリミングを完了するにはどうすればよいですか? (詳細な例)

ソース イメージとターゲット イメージを開きます

  • ソース イメージ内のポイントをインターセプトし、幅を設定しますそして高さ。ターゲット画像に挿入します。 (Crop)

  • Save image input

  • Destroy resource

  • 実際の操作は以下の通り:

  • ロゴ画像で、テキスト部分を切り取って画像部分だけを残しておきたいのですが、残しておきたい画像部分の開始座標は(0,0であることが分かります) )、終了座標は (52 , 59) です。


次に、切り取った画像をターゲット画像の左上隅に配置します。正確な座標は (0, 0) から (52, 59) です。 ) 考えを整理したので、コードは次のようになります:

PHP で画像のスケーリングとトリミングを完了するにはどうすればよいですか? (詳細な例)

<?php
 $dst = imagecreatefrompng(&#39;dog.png&#39;);
 $src = imagecreatefrompng(&#39;logo.png&#39;);
 imagecopyresized($dst, $src, 0, 0, 0, 0, 52, 59, 52, 59);
 header(&#39;content-type:image/jpeg&#39;); 
imagejpeg($dst); 
imagedestroy($dst);
 imagedestroy($src);
 ?>
ログイン後にコピー
PHP で画像のスケーリングとトリミングを完了するにはどうすればよいですか? (詳細な例)出力結果:


上記の結果から、 imagecopyresizeh 関数の画像トリミングが完了しました。

推奨学習: 「PHP で画像のスケーリングとトリミングを完了するにはどうすればよいですか? (詳細な例)PHP ビデオ チュートリアル

以上がPHP で画像のスケーリングとトリミングを完了するにはどうすればよいですか? (詳細な例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート