ホームページ >バックエンド開発 >PHPの問題 >phpで画像を回転できますか?

phpで画像を回転できますか?

藏色散人
藏色散人オリジナル
2020-09-03 09:30:062804ブラウズ

php では画像を回転することができます。実装方法は、まず画像リソースを作成し、「imagerotate()」関数を使用して指定した角度に従って回転し、最後に「$imagejpeg($rotate,$)」を渡します。 filename);" ステートメント 回転した画像を保存するだけです。

phpで画像を回転できますか?

# 推奨: 「PHP ビデオ チュートリアル #」

php は画像を回転できます。実装方法は次のとおりです。

PHP 画像処理の画像回転と画像反転は、imagerotate 関数を使用して実装され、複数の関数をカスタマイズして実装します関数 Requirement.

画像の回転は画像を特定の角度で回転させること、画像の反転は画像の内容を特定の方向に入れ替えることです。

画像の反転を実現するには独自の関数を作成する必要がありますが、画像の回転は GD ライブラリで提供される imagerotate() 関数を使用して直接実行できます。

imagerotate() 関数のプロトタイプは次のとおりです。

resource  imagerotate(resource src_im ,    floatangle,    int bgd_color    [,intignore_transpatrent])

この関数は、src_im 画像を指定した角度で​​回転でき、bgd_color は回転後に覆われていない部分の色を指定します。回転。回転の中心は画像の中心であり、回転された画像はターゲット画像に合わせて縮小されます (エッジは切り取られません)。 ignore_transpatrent がゼロ以外の値に設定されている場合、透明色は無視されます (それ以外の場合は保持されます)。 JPEG形式の写真を例として、画像を回転できる関数rotate()を宣言します。コードは次のとおりです:

<?php
    //用给定角度旋转图像,以jpeg图像格式为例
    function rotate($filename,$degrees){
        //创建图像资源,以jpeg格式为例
        $source =imagecreatefromjpeg($filename);
        //使用imagerotate()函数按指定的角度旋转
        $rotate = imagerotate($source,$degrees, 0);
        //旋转后的图片保存
        $imagejpeg($rotate,$filename);
    }
 
    //把一幅图像brophp.jpg旋转180度
    rotate("brophp", 180);
?>

画像の反転では、Y軸に沿った水平反転またはY軸に沿った垂直反転のみを設定できます。 X軸。 Y 軸に沿って反転すると、元の画像が右から左 (または右から右) に 1 ピクセル幅でコピーされ、画像自体の高さで新しいリソースにコピーされます。保存される新しいリソースは次のようになります。画像が Y 軸に沿って反転されました。 JPEG 形式の画像を例として、Y 軸に沿って反転できるピクチャ関数turn_y()を宣言するコードは次のとおりです。

コードは次のとおりです。

<?php
    function trun_y($filename){
        $back =imagecreatefromjpeg($filename);
 
        $width = imagesx($back);
        $height = imagesy($back);
 
        //创建一个新的图片资源,用来保存沿Y轴翻转后的图片
        $new =imagecreatetruecolor($width, $height);
        //沿y轴翻转就是将原图从右向左按一个像素宽度向新资源中逐个复制
        for($x=0 ;$x<$width; $x++){
            //逐条复制图片本身高度,1个像素宽度的图片到新资源中
            imagecopy($new,$back, $width-$x-1, 0, $x, 0, 1, $height);
        }
 
        //保存翻转后的图片
        imagejpeg($new,$filename);
        imagedestroy($back);
        imagedestroy($new);
    }
 
    trun_y("brophp.jpg")
?>

この例で宣言されているturn_y()関数は、処理される画像のURLであるパラメータを1つだけ必要とします。この例では、turn_y() 関数を呼び出して、Y 軸に沿って画像を反転します。 ##imagecopy (画像の一部をコピー) に沿って反転した場合

##説明: bool imagecopy ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int$src_x , int $src_y , int $src_w , int $ src_h )

src_x、src_y から始まる座標を持つ src_im 画像の一部を、幅 src_w、高さ src_h で、dst_x と dst_y の座標の位置にコピーします。 dst_im イメージ。

以上がphpで画像を回転できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。