PHP は QR コードを生成してテキスト、背景画像を合成し、ローカル画像を保存します

目次

1.効果を実現するには、QRコードとQRコードをテキストと背景画像に結合します。

2. QRコードをダウンロードして導入する

3. 静的フォルダーを作成し、ここにフォントと背景画像をダウンロードします。

4. test2.php を作成し、コードを合成します。


 

1.効果を実現するには、QRコードとQRコードをテキストと背景画像に結合します。

2. QRコードをダウンロードして導入する
1. phpqrcpde 公式 Web サイトにアクセスして、クラス ライブラリをダウンロードします。公式 Web サイトのアドレスは、http://phpqrcode.sourceforge.net/です。
2. phpqrcode フォルダーの下に「phpqrcode.php」を導入します。
include "phpqrcode/phpqrcode.php";
3. 静的フォルダーを作成し、ここにフォントと背景画像をダウンロードします。

img1とimg2を作成して保存し、画像を合成します。

4. test2.php を作成し、コードを合成します。
<?php

include "phpqrcode/phpqrcode.php";
$name=date("YmdHis");//图片名称
$value = "http:/localhost.com/pay/shop?name=".$name;//二维码地址
$errorCorrectionLevel = 'H';//纠错级别:L、M、Q、H
$matrixPointSize = 27;//二维码点的大小:1到10(最大27)
$path=dirname(__FILE__);

$filename=$path.'/img1/'.$name.'.png';
$filename2=$path.'/img2/'.$name.'.png';
$logo=$path.'/static/bj.png';
$fonts=$path.'/static/arialbd.ttf';

if (!file_exists($filename)) {

    $object = new \QRcode();
    $object->png($value, $filename, $errorCorrectionLevel, $matrixPointSize, 0);

    $dest = imagecreatefrompng($logo);
    imagesavealpha($dest, true);//这里很重要

    $src = imagecreatefrompng($filename);

    imagecopymerge($dest, $src, 700, 1220, 0, 0, imagesx($src), imagesy($src), 100); //new

    $red = imagecolorallocate($dest, 255, 0, 0);

    imagefttext($dest, 100, 0, 650, 2400, $red, $fonts, $name);    //new
    imagePng($dest, $filename2);
    imagedestroy($dest);
    imagedestroy($src);

}
$generatedImageUrl = "http://localhost/code/img2/".$name.'.png';

$width = 300;  // 设置宽度为300像素
$height = 300;  // 设置高度为200像素
echo "<img src=\"$generatedImageUrl\" alt=\"二维码图片\" width=\"$width\" height=\"$height\">";
  1. まず、includeステートメントを通じてファイルが導入されますphpqrcode.php。これは、PHP QR コード ライブラリのコア ファイルです。
  2. 次に、date生成したQRコード画像を保存するための固有のファイル名を生成する機能を使用します。
  3. 変数を使用して$valueQR コードのコンテンツを保存します。URL の例は次のとおりです。
  4. エラー訂正レベルと QR コード ポイントのサイズを定義します。
  5. dirname(__FILE__)現在のファイルのパスを取得し、$path変数に保存するために使用します。
  6. パスとファイル名に基づいて完全な保存パスを生成します。
  7. 同名のQRコード画像が存在するか確認し、存在しない場合は以下の操作を行ってください。
    • new \QRcode()QRcode オブジェクトを作成するために使用します。
    • オブジェクトのpngメソッドを呼び出して QR コード画像を生成します。
    • 関数を使用してimagecreatefrompng、背景が透明なキャンバスを作成します。
    • imagecreatefrompng関数を使用してQRコード画像を作成します。
    • 関数を使用してimagecopymerge、QR コード画像を背景キャンバスにマージします。
    • 関数を使用してimagecolorallocate赤色を作成します。
    • 関数を使用してimagefttext背景キャンバスにテキストを追加します。
    • この関数を使用して、imagePng結合された画像を指定したパスに保存します。
    • 関数を使用してimagedestroyキャンバス リソースを破棄します。
  8. 生成した画像のURLアドレスを設定します。
  9. 画像の幅と高さを設定します。
  10. 最後に、echoステートメントを使用して、幅、高さ、URL を含むラベルを<img>ページに出力します。PHP QR コード ライブラリが正しくインストールされ、正しいファイル パスと URL アドレスが指定されていることを確認してください。

おすすめ

転載: blog.csdn.net/weixin_39934453/article/details/133070866