ホームページ > バックエンド開発 > PHPチュートリアル > WeChat ミニプログラムのポスター生成テクニックの PHP 実装

WeChat ミニプログラムのポスター生成テクニックの PHP 実装

WBOY
リリース: 2023-06-01 09:12:01
オリジナル
2546 人が閲覧しました

WeChat ミニ プログラムの台頭により、多くの企業や個人がミニ プログラムのプロモーションとマーケティングに注目し始めています。ミニプログラムにおいて、ユーザーを呼び込む手段としてポスターは欠かせない存在となっています。

それでは、ポスターを自動的に生成するにはどうすればよいでしょうか?この記事では、PHP を使用してミニ プログラムを開発する開発者向けに、WeChat ミニ プログラム ポスターを生成するためのヒントをいくつか紹介します。

1. 準備

まず、WeChat公式アカウントでミニプログラムを作成し、デベロッパーセンターでミニプログラムのAppID、AppSecret、access_tokenなどの情報を取得する必要があります。

次に、Apache サーバー、PHP、GD 拡張ライブラリを含む PHP 環境をサーバーにインストールします。 GD 拡張ライブラリは、画像を生成するための PHP 拡張機能です。

2. ミニプログラムコードの取得

ポスターを生成するには、まずミニプログラム内でミニプログラムコードを生成する必要があります。ミニプログラムコードは、WeChat の API を呼び出すことで生成できます。

PHP では、cURL 関数を使用して、WeChat が提供するインターフェイスを呼び出してミニ プログラム コードを取得できます。単純な実装コードは次のとおりです。

$appid = '你的小程序AppID';
$secret = '你的小程序AppSecret';
$path = '你的页面路径'; // 注意 一定要是已经发布的小程序页面,否则获取失败

// 获取 access_token
$url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$appid.'&secret='.$secret;
$response = curl_request($url);
$result = json_decode($response, true);
$access_token = $result['access_token'];

// 获取小程序码
$url = 'https://api.weixin.qq.com/wxa/getwxacode?access_token='.$access_token;
$params = array(
  'path' => $path,
  'width' => 430
);
$response = curl_request($url, 'POST', json_encode($params), array('Content-Type:application/json'));

// 保存小程序码
file_put_contents('path/to/save/wxacode.jpg', $response);
ログイン後にコピー

上記のコードでは、WeChat API を呼び出してミニ プログラムの access_token を取得し、生成する API を呼び出すときにページ パスと生成された 2D を渡します。ミニプログラムコード コード幅次に、取得したアプレット コードを後で使用できるようにサーバーに保存します。

3. GD 拡張ライブラリを使用してポスターを生成する

小さなプログラム コードを取得したら、PHP の GD 拡張ライブラリを使用してそれをポスターに合成する必要があります。 GD 拡張ライブラリを使用すると、PHP で画像の合成、テキストや図形の追加などを行うことができます。これは、PHP が画像を生成するための共通の拡張ライブラリです。

GD 拡張ライブラリを使用するには、PHP で GD 拡張ライブラリを有効にする必要があります。

PHP.ini ファイル内でキーワード「extension=php_gd2.dll」または「extension=gd.so」を検索し、この行のコメントを解除して拡張ライブラリを開きます。または、以下に示すように、コード内で関数 extension_loaded() を呼び出して、GD 拡張ライブラリがロードされているかどうかを確認します。

if (!extension_loaded('gd')) {
  // GD 扩展库未加载
} else {
  // GD 扩展库已加载
}
ログイン後にコピー

次に、関数 create_poster() を定義します。この関数は、ファイル パス、アプレットへのファイル パスと、生成されたポスター ファイルを返すファイル パス。 create_poster() 関数では、指定されたファイル パスでテンプレートをロードし、GD 拡張ライブラリを使用してテキストとアプレット コードを追加し、生成されたポスターを指定されたパスに保存します。

function create_poster($template, $wxacode, $output) {
  // 打开要生成的模版
  $bg_image = imagecreatefromjpeg($template);
  // 打开小程序码
  $wxacode_image = imagecreatefromstring(file_get_contents($wxacode));
  // 获取小程序码的宽高
  list($wxacode_width, $wxacode_height) = getimagesize($wxacode);

  // 创建新的画布
  $poster = imagecreatetruecolor(750, 1334);
  // 对图片进行重采样缩放
  imagecopyresampled($poster, $bg_image, 0, 0, 0, 0, 750, 1334, imagesx($bg_image), imagesy($bg_image));

  // 添加小程序码
  imagecopy($poster, $wxacode_image, 295, 810, 0, 0, $wxacode_width, $wxacode_height);

  // 添加文本
  $textColor = imagecolorallocate($poster, 255, 255, 255);
  $size = 24;
  $font = 'path/to/font.ttf';
  $text = '扫码进入小程序';
  imagettftext($poster, $size, 0, 187, 1133, $textColor, $font, $text);

  // 保存生成的海报
  imagejpeg($poster, $output, 80);
  // 释放内存
  imagedestroy($poster);
}
ログイン後にコピー

上記のコードでは、まず指定されたパスでテンプレート画像を開き、アプレットコードをロードしてから新しいキャンバスを作成し、imagecopyresampled() メソッドを使用してテンプレート画像を指定されたサイズに拡大縮小します。 . を選択し、imagecopy() メソッドを使用してアプレット コードをキャンバスに追加します。最後に、imagettftext() メソッドを使用してテキストをキャンバスに追加し、imagejpeg() メソッドを使用して結果のポスターを指定されたパスに保存します。

4. ポスターをミニ プログラムに追加します

ポスターを生成した後、それをミニ プログラムに追加できます。

次のようなコードを使用して、生成されたポスターをミニ プログラムに表示させることができます:

// 在 wxml 中添加 image 组件
<image src="{{posterImageUrl}}"></image>

// 在 js 中,设置海报图片的路径(posterImageUrl 是我们在 wxml 中绑定的变量名)
this.setData({
  posterImageUrl: 'path/to/generated/poster.jpg'
});
ログイン後にコピー

上記のコードを使用して、生成されたポスターをミニ プログラムに表示します。

概要

この記事では、ミニ プログラム コードの取得、GD 拡張ライブラリを使用したポスターの生成、ポスターの追加など、PHP を使用して WeChat ミニ プログラム ポスターを生成する手法について説明します。ミニプログラムへ。

以上の手法により、ミニプログラムコード等を組み込んだポスターを簡単に生成することができ、ミニプログラムのマーケティング促進効果を向上させることができます。

以上がWeChat ミニプログラムのポスター生成テクニックの PHP 実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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