Rumah > Artikel > pembangunan bahagian belakang > Pelaksanaan PHP teknik penjanaan poster program mini WeChat
Dengan kebangkitan program mini WeChat, banyak syarikat dan individu telah mula memberi perhatian kepada promosi dan pemasaran program mini. Dalam program mini, poster, sebagai alat yang biasa digunakan untuk menarik pengguna, telah menjadi bahagian yang sangat diperlukan.
Jadi, bagaimana untuk menjana poster secara automatik? Artikel ini akan memberikan beberapa petua untuk menjana poster program mini WeChat untuk pembangun yang menggunakan PHP untuk membangunkan program mini.
1. Persediaan
Pertama, anda perlu membuat program mini dalam akaun rasmi WeChat, dan mendapatkan AppID, AppSecret, access_token dan maklumat lain program mini di pusat pembangun.
Seterusnya, pasang persekitaran PHP pada pelayan anda, termasuk pelayan Apache, perpustakaan sambungan PHP dan GD. Pustaka sambungan GD ialah sambungan PHP untuk menjana imej.
2. Dapatkan kod program mini
Untuk menghasilkan poster, anda perlu menjana kod program mini dalam program mini terlebih dahulu. Kod program mini boleh dijana dengan memanggil API WeChat.
Dalam PHP, anda boleh menggunakan fungsi cURL untuk mendapatkan kod program mini dengan memanggil antara muka yang disediakan oleh WeChat. Kod pelaksanaan mudah adalah seperti berikut:
$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);
Dalam kod di atas, kami memperoleh akses_token program mini dengan memanggil API WeChat, dan meneruskan laluan halaman dan 2D yang dijana apabila memanggil API yang menjana kod program mini. Seterusnya, kami menyimpan kod applet yang diperoleh pada pelayan untuk kegunaan seterusnya.
3. Gunakan perpustakaan sambungan GD untuk menjana poster
Selepas mendapatkan kod applet, kita perlu menggunakan perpustakaan sambungan GD PHP untuk mensintesiskannya ke dalam poster. Pustaka sambungan GD membenarkan PHP mensintesis imej, menambah teks dan bentuk, dsb. Ia adalah perpustakaan sambungan biasa untuk PHP menjana imej.
Untuk menggunakan pustaka sambungan GD, kami perlu mendayakan pustaka sambungan GD dalam PHP.
Kami boleh mencari kata kunci "extension=php_gd2.dll" atau "extension=gd.so" dalam fail PHP.ini dan nyahkomen baris ini untuk mendayakan pustaka sambungan. Atau semak sama ada pustaka sambungan GD dimuatkan dengan memanggil fungsi extension_loaded() dalam kod, seperti yang ditunjukkan di bawah:
if (!extension_loaded('gd')) { // GD 扩展库未加载 } else { // GD 扩展库已加载 }
Seterusnya, kami mentakrifkan fungsi create_poster(), yang menerima tiga parameter: laluan fail, laluan fail ke applet dan laluan fail untuk mengembalikan fail poster yang dijana. Dalam fungsi create_poster(), kami memuatkan templat dengan laluan fail yang ditentukan, menambah teks dan kod applet menggunakan pustaka sambungan GD, dan kemudian menyimpan poster yang dijana ke laluan yang ditentukan.
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); }
Dalam kod di atas, kami mula-mula membuka imej templat pada laluan yang ditentukan dan memuatkan kod applet, kemudian mencipta kanvas baharu dan menggunakan kaedah imagecopyresampled() untuk menskalakan imej templat kepada saiz yang ditentukan , dan gunakan kaedah imagecopy() untuk menambah kod applet pada kanvas. Akhir sekali, kami menambah teks pada kanvas menggunakan kaedah imagettftext() dan menyimpan poster yang terhasil ke laluan yang ditentukan menggunakan kaedah imagejpeg().
4. Tambahkan poster pada program mini
Selepas menghasilkan poster, kita boleh menambahnya pada program mini.
Anda boleh menggunakan kod yang serupa dengan yang berikut untuk membenarkan program mini memaparkan poster yang dihasilkan:
// 在 wxml 中添加 image 组件 <image src="{{posterImageUrl}}"></image> // 在 js 中,设置海报图片的路径(posterImageUrl 是我们在 wxml 中绑定的变量名) this.setData({ posterImageUrl: 'path/to/generated/poster.jpg' });
Gunakan kod di atas untuk memaparkan poster yang dihasilkan dalam program mini.
Ringkasan
Dalam artikel ini, kami menerangkan teknik menggunakan PHP untuk menjana poster untuk program mini WeChat, termasuk mendapatkan kod program mini, menggunakan perpustakaan sambungan GD untuk menjana poster dan menambah poster kepada program mini .
Melalui teknik di atas, kami boleh menjana poster dengan kod program mini dan elemen lain dengan mudah, seterusnya meningkatkan kesan pemasaran dan promosi program mini.
Atas ialah kandungan terperinci Pelaksanaan PHP teknik penjanaan poster program mini WeChat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!