ホームページ > バックエンド開発 > PHPチュートリアル > PHP画像処理関数例とPHP検証コード

PHP画像処理関数例とPHP検証コード

WBOY
リリース: 2016-07-25 08:51:45
オリジナル
834 人が閲覧しました
  • <入力タイプ = "text" name="ユーザー名" id = "">
  • <入力タイプ = "パスワード" name="パスワード" id = " " >
  • ;

    1. //キャンバスを準備します

    2. $im = imagecreatetruecolor(500, 300);

    3. //ペイントを準備します

    4. $black = imagecolorallocate( $im, 0, 0, 0);

    5. $white = imagecolorallocate($im, 255, 255, 255);

    6. // 背景は黒で塗りつぶしました

    7. imagefill($im,0,0, $black);

    8. //長方形を描いて白で塗りつぶします

    9. imagefilledellipse($im, 258, 151, 200, 200 , $white );
    10. //ブラウザに出力するか、保存します
    11. header("content-type:image/png");
    12. //画像を出力します
    13. imagepng($im); p>// キャンバスを閉じる
    14. imagedestroy($im)?>

    15. php画像処理関数 1. 数学的関数 2.画像​​処理機能
    数学関数: 1,max(); 2,分(); 3. mt_rand(); ランダムに数値を選択します。

    echomt_rand(1,5)

    ?>

    1. コードをコピー
    2. mt_randは値をランダムに選択します

    //配列から値をランダムに選択します

    $arr = array("a","b","c","d","e " );

      $rkey = mt_rand(0,count($arr)-1);

    1. echo $arr[$rkey]?>

    2. コードをコピー
    3. 4.ceil(); 5.フロア(); 6.round();

    echo ceil(2.4);//3

    echo Floor(2.4);//2
    echoround(2.4);//2
      echoround(2.6 );//3

    1. ?>

    2. コードをコピー
    3. 6.pi(); //πはpiを受け取ります
    echo(pi());

    コードをコピー
    1. 画像処理関数の使用シナリオ 1.認証コード 2.ズーム 3.作物 4. 透かし
    2. PHP で画像を作成する 5 つのステップ 1. キャンバスを準備する 2. 塗料を準備する 3. キャンバス上に画像や文字を描画します 4. 最終イメージまたは Caocun 最終イメージを出力します 5. キャンバスリソースを解放します
    3. 例:

    //1. キャンバスを準備します

    $im = imagecreatetruecolor(500,300);

    //2. ペイントを準備します

    $black = imagecolorallocate($im, 0, 0) , 0);

    $white = imagecolorallocate($im, 255, 255, 255);

    //3. 背景が塗りつぶされていない場合、デフォルトは黒です

    imageellipse($im,258,151,200,200,$white);

      //4. 最終画像を出力するか、最終画像を保存します

    1. header("content-type:image/ png");
    2. imagepng($im);
    3. //5. キャンバス リソースを解放します
    4. imagedestroy($im);
    5. ?>

    6. コードをコピーします
    7. 画像を描画します: イメージフィル(); imagesetpixel();//ピクセルを描画します imageline();//線を描く imagerectangle();//長方形を描画します imagepolygon();//多角形を描画します imageellipse();//楕円を描画します imageare(); 円弧を描く imagechar();//文字を横方向に描画します imagestring();//文字列を水平方向に描画します
    8. 例:

    //線を描く//1. キャンバスを準備します

    $im = imagecreatetruecolor(500,300);

    //2. ペイントを準備します

    $black = imagecolorallocate($) im, 0, 0, 0);

    $white = imagecolorallocate($im, 255, 255, 255);

    //3. キャンバスに画像またはテキストを描画します

    //If背景は塗りつぶされず、デフォルトは黒です
    imageline($im,0,0,500,300,$white);
      imageline($im,0,150,500,150,$white);
    1. imageline( $im,250,0,250,300,$white);

    2. //4. 最終画像を出力するか、最終画像を保存します

    3. header("content-type:image/png") ;
    4. imagepng($im);
    5. imagedestroy($im);

    6. ;

      例:

      1. //インターフェロンを追加します

      2. //1. キャンバスを準備します
      3. $im = imagecreatetruecolor(500,300)
      4. //2. ペイントを準備します
      5. $black = imagecolorallocate( $ im, 0, 0, 0);
      6. $white = imagecolorallocate($im, 255, 255, 255);

      7. //3. キャンバス上に画像またはテキストを描画します

      8. //ランダムポイント
      9. for ($i=0; $i

        imagesetpixel($im,mt_rand(0,500),mt_rand(0,300),$white) ; ;/p>

      10. }

      11. //ランダムな行を生成

      12. for ($j=0; $j imageline($ im, mt_rand( 0,500), mt_rand(0,300), mt_rand(0,500), mt_rand(0,300), $white);

      13. }//4. 最終画像を出力するか、最終画像を保存します
      14. header("content-type:image/png ") ;
      15. imagepng($im);
      16. imagedestroy($im)?>
      17. 例:

      //長方形を描画します:

      //1. キャンバスを準備します

      $im = imagecreatetruecolor(500,300); ペイント
      $black を準備します。 = imagecolorallocate( $im, 0, 0, 0);
        $white = imagecolorallocate($im, 255, 255, 255);

      1. //3 Canvas

      2. imagerectangle( $im, 20, 20, 480, 280, $white);//
      3. imagefilledrectangle($im, 20, 20, 480, 280, $white);// Fill

      4. header("content-type:image/png")
      5. imagepng($im);
      6. imagedestroy($im);
      7. ?> < ;/p>
      8. コードをコピー
      9. 例: p&gt; // imagepolygon draw polygon_draw triang&lt; // 1 ($im, 0, 0, 0);
      10. $white = imagecolorallocate($im, 255, 255, 255);

      11. //3. キャンバス上に画像またはテキストを描画します

      12. $ arr = array(
      13. 250,20,
      60,240,
      440,240 ); imagepolygon($im, $arr, 3, $white);

      //4。最終画像を保存

      imagepng($im);

      imagedestroy($im)?>
        コードをコピー
      1. 3D円グラフを描画する例
      2. //1. キャンバスを準備します
      3. $im = imagecreatetruecolor(500,300);
      4. //2. ペイントを準備します
      5. $black = imagecolorallocate($im, 0, 0) , 0);
      6. $red = imagecolorallocate($im, 255, 0, 0);
      7. $green = imagecolorallocate($im, 0, 255, 0); );
      8. $blue = imagecolorallocate($im, 0, 0, 255);
      9. $gray = imagecolorallocate($im, 200, 200, 200);

      10. //3. キャンバスに画像やテキストを描画します

      11. for ($i=0; $i imagefilledarc($im, 250, 150+$) i, 200, 200, 0, 70, $gray,IMG_ARC_PIE);
      12. imagefilledarc($im, 250, 150+$i, 200, 200, 70, 190, $grayred,IMG_ARC_PIE);
      13. }

      14. imagefilledarc($im, 250, 150, 200, 200, 0, 70, $white,IMG_ARC_PIE);
      imagefilledarc($im, 250, 150, 200, 200, 70) , 190, $red,IMG_ARC_PIE);
      imagefilledarc($im, 250, 150, 200, 200, 190, 270, $green,IMG_ARC_PIE); , $blue ,IMG_ARC_PIE);

      //4. 最終画像を出力するか、最終画像を保存しますheader("content-type:image/png"); ;

      //5 .キャンバスリソースを解放します

      imagedestroy($im)?>

        ;

        例:

        1. //テキストを書きます:

        2. //1. キャンバスを準備します
        3. $im = imagecreatetruecolor(500,300);
        4. //2. ペイントを準備します
        5. $black = imagecolorallocate( $im, 0, 0, 0);
        6. $red = imagecolorallocate($im, 255, 0, 0);
        7. $green = imagecolorallocate($im, 255, 0, 0); , 0, 255, 0);
        8. $blue = imagecolorallocate($im, 0, 0, 255);
        9. $white = imagecolorallocate($im, 255); , 255, 255);

        10. //3. キャンバスに画像やテキストを描画します

          $str= "PHP はとても便利です"; ;
        11. imagestring($im, 5, 260, 160, $str, $green);

        12. //4. 最終画像を出力するか、最終画像を保存します
        13. header("content-type:image/png") ) ;
        14. imagepng($im);
        15. imagedestroy($im)?>
        16. 例:

        // 1 文字を書きます: //1. キャンバスを準備します

        $im = imagecreatetruecolor(500,300);

        $black = を準備します。イメージカラー割り当て ($im, 0, 0, 0);

        $レッド = イメージカラー割り当て($im, 255, 0, 0);
        $グレーレッド = イメージカラー割り当て($im, 255, 100, 100); $ im, 0, 255, 0);
        $blue = imagecolorallocate($im, 0, 0, 255);
          $white = imagecolorallocate($im, 200, 200, 200); , 255, 255, 255);

        1. //3. キャンバスに画像またはテキストを描画します

          $str= "P";
        2. imagechar($im, 5, 260, 160, $str, $green);

        3. //4. 最終画像を出力するか、最終画像を保存します
        4. header("content-type:image/png") ;
        5. imagepng($im);
        6. imagedestroy($im)
        7. ?>
        8. 例:
        9. //絵に書きます

        10. //1. キャンバスを準備します
        11. $im = imagecreatetruecolor(500,300);
        12. $black を準備します。 = imagecolorallocate ($im, 0, 0, 0);
        13. $red = imagecolorallocate($im, 255, 0, 0);
        14. $green = imagecolorallocate ($ im, 0, 255, 0);
        15. $blue = imagecolorallocate($im, 0, 0, 255);
        16. $white = imagecolorallocate($im, 0, 0, 255); im, 255, 255, 255);

        //3. キャンバスに画像やテキストを描画します

        $str= "junzaivip"; " E:/PHP/fonts/SIMYOU.TTF";
        // $file = "fonts/SIMYOU.TTF";

        imagettftext($im, 50, 0, 100, 200, $ green, $file, $str);

        //4. 最終画像を出力するか、最終画像を保存します

        header("content-type:image/png"); $im) ;

        //5. キャンバスリソースを解放します

        imagedestroy($im)?>

        1. PHP 検証コードの設計
        2. //キャンバスを準備します
        3. $im = imagecreatetruecolor(100,50);
        4. //ペイントを準備します
        5. $black = imagecolorallocate($im, 0, 0, 0 );
        6. $gray = imagecolorallocate($im, 200, 200, 200);

        7. //背景を塗りつぶす

        8. imagefill($im, 0, 0, $gray); p> ;
        9. //テキスト座標

        10. $x = (100-4*20)/2 + 6;
        11. $y = (50-20)/2 + 20; ; //キャンバスに画像やテキストを描画します

        12. //3つの配列を接続します

        13. $strarr = array_merge(range(1, 9),range(a, z),range(A , Z) );

        14. //配列をシャッフルします

        15. shuffle($strarr);

        16. //array_slice: 配列の最初の数桁を取得します

        17. //配列を文字列に変換し、最初の変数を区切り文字として使用します
        18. $str = join('',array_slice($strarr, 0,4)); :/PHP/fonts/msyh.ttf";
        19. // $file = "fonts/msyh.ttf";

        20. imagettftext($im, 20, 0, $x, $ y, $black, $file, $str);

        //最終画像を出力するか、最終画像を保存します

        header("content-type:image/png"); ); //キャンバスリソースを解放しますimagedestroy($im)

        ;

        php 検証コード設計: これには、index.php と reg.php の 2 ページが含まれます。 説明:

        この検証コードバージョンは検証画像の動的取得のみを実装します フロントエンド登録ページの確認コードと生成されたイメージの確認コードを比較します。 確認コードは、数字、小文字、大文字でランダムに構成されます

        index.php//ユーザー登録を実現する

        1. reg
        2. table{

          ;
        3. border-collapse:

        4. }

        5. ユーザー登録ページ


    名前:
    パスワード:
    検証コード:
    p>
  • コードをコピー
  • reg.php//検証コードが正しいかどうかを確認するために使用されます
  • session_start();

  • // echo $_POST['username'] // echo $_POST['password']; $_POST['vcode']);

    // echo $code;

    // echo "

    "; $_SESSION); <p>// echo "
    "

    $vstr = strto lower($_SESSION['vstr']);

    if ($code==$vstr) {

    //ページジャンプを実現
      echo "<script>location='http://www.xingzuo51.com'</script>";
    1. }else{
    2. echo "<script>alert(' 確認コード入力エラー')</script>";
    3. //echo "登録ページに戻る";
    4. echo "<script>location=' インデックス。 php'</script>";

    5. }

    6. ?>

    7. コードをコピー
    8. auth.php は検証コードの生成に使用されます

      1. //セッションを開きます。セッションを開く前に出力はできません
      2. session_start(); //検証コードの背景幅
      3. $height = 26; //検証コードの背景高速
      4. $fonttype = 10; //検証コードのフォントサイズ
      5. //キャンバスを準備
      6. $im = imagecreatetruecolor($width,$height); //ペイントを準備します
      7. $black = imagecolorallocate($im, 0, 0, 0);
      8. $gray = imagecolorallocate($im, 200, 200, 200);背景
      9. imagefill($im, 0, 0, $gray);

      10. //テキスト座標

      11. $x = ($width-4*$fonttype)/2 +2; = ($height-$fonttype)/2 + $fonttype;

      12. //キャンバスに画像やテキストを描画します

      13. //3 つの配列を接続します

      14. $strarr = array_merge(range(1, 9),range(a, z),range(A, Z));

      15. //配列をシャッフルします

      16. shuffle($strarr); p>
      17. //array_slice: 配列の最初の数桁を取得します

      18. //Join は配列を文字列に変換し、最初の変数を区切り文字として使用します
      19. $str = join('',array_slice ($ strarr, 0,4));

      20. //すべてのページで使用しやすくするために $str をセッションに入れます

      21. $_SESSION['vstr'] = $str
      22. < ;p>$file = "E:/PHP/fonts/msyh.ttf";
      23. // $file = "fonts/msyh.ttf"

      24. imagettftext($im, $fonttype , 0, $x, $y, $black, $file, $str);

      25. //最終画像を出力するか、最終画像を保存します

      26. header("content-type: image/ png");
      27. imagepng($im);
      28. //キャンバスリソースを解放する
      29. imagedestroy($im);
      30. ?>
      31. コードをコピーする
      php検証コード設計: ページジャンプ: 1.phpジャンプ

      $im = imagecreatefromjpeg("lyf.jpg");

      $x = imagex($im); = imagey($im);

        $x . $y;

      1. header("content-type:image/jpeg");

      2. imagejpeg($im);
      3. ?

      4. 画像のサイズを取得する方法 2:

      $imgfile = "lyf.jpg";

      $imgarr = getimagesize($imgfile);

      echo "

      "; print_r($imgarr); 

      ;$im = imagecreatefromjpeg("lyf.jpg");

      $y;

      ");

        imagejpeg($im);
      1. ?>

      2. コードをコピー
      3. 画像ズーム機能:

        1. $imgfile = "lyf.jpg";

        2. //大きい画像の幅と高さを取得するには

        3. $imgarr = getimagesize( $imgfile);

          $maxw = $imgarr[0];
        4. $maxt = $imgarr[2]; maxm = $imgarr[ 'mime'];

        5. //大きな画像をリソースに変えるため

        6. $im = imagecreatefromjpeg("lyf.jpg") ;

        7. //小さい画像リソース

        8. $minw = 100;
        9. $minh = 400;

        10. //均等スケーリング
        11. if (($minw/ $maxw)> ;($minh/$maxh)) {
        12. $rate = $minh/$maxh ;
        13. }else{
        14. $rate = $minw / $maxw ;
        15. }

        16. $minw = フロア ($maxw * $rate);

        17. $minh = フロア($maxh * $rate);
        18. $minim = imagecreatetruecolor($minw, $minh);大きな画像を小さな画像にズームします
        19. imagecopyresampled($minim, $im, 0, 0, 0, 0, $minw, $minh, $maxw, $maxh);

        20. //小さな画像出力

        21. header ("content-type:{$maxm}");

        22. //タイプを決定する

        23. switch ($maxt) {
        24. case 1:
        25. $imageout = "imagegif ";
        26. break;
        27. ケース 2:
        28. $imageout = "imagejpeg";
        29. break;
        30. ケース 3:
        31. $imageout = "imagepng";
        32. break;

        33. }

        34. $minfilename = "s_".$imgfile;
        35. // imagejpeg($im);

        36. / /リソースを解放します
        37. imagedestroy($maxim);
        38. imagedestroy($minim)?>

        39. 画像トリミング関数: imagecopyresampled();
        40. 画像透かし機能: imagecopy();
        41. 3、作物
        4、透かし

        $maxim = imagecreatefromjpeg("lyf.jpg");

        $minim = imagecreatefromjpeg("lyf.jpg"); ;$maxw = 画像x($maxim);

        $maxh = 画像sy($maxim);

        $minw = 画像x($minim); ;/p>

        imagecopy($maxim, $minim, $maxw-$minw, $maxh-$minh, 0, 0, $minw, $minh); header("content-type:image/jpeg");

        imagejpeg($mamim)?>

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