Rumah pembangunan bahagian belakang tutorial php Pelaksanaan PHP teknik penjanaan poster program mini WeChat

Pelaksanaan PHP teknik penjanaan poster program mini WeChat

Jun 01, 2023 am 08:33 AM
php applet WeChat penjanaan poster

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);
Salin selepas log masuk

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 扩展库已加载
}
Salin selepas log masuk

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);
}
Salin selepas log masuk

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'
});
Salin selepas log masuk

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian

Konfigurasi Projek CakePHP Konfigurasi Projek CakePHP Sep 10, 2024 pm 05:25 PM

Konfigurasi Projek CakePHP

Tarikh dan Masa CakePHP Tarikh dan Masa CakePHP Sep 10, 2024 pm 05:27 PM

Tarikh dan Masa CakePHP

Muat naik Fail CakePHP Muat naik Fail CakePHP Sep 10, 2024 pm 05:27 PM

Muat naik Fail CakePHP

Penghalaan CakePHP Penghalaan CakePHP Sep 10, 2024 pm 05:25 PM

Penghalaan CakePHP

Bincangkan CakePHP Bincangkan CakePHP Sep 10, 2024 pm 05:28 PM

Bincangkan CakePHP

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP

Panduan Ringkas CakePHP Panduan Ringkas CakePHP Sep 10, 2024 pm 05:27 PM

Panduan Ringkas CakePHP

See all articles