Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melaksanakan penjanaan imej dan pemprosesan tera air bagi ayat rawak Baidu Wenxin Yiyan dalam pembangunan PHP?

Bagaimana untuk melaksanakan penjanaan imej dan pemprosesan tera air bagi ayat rawak Baidu Wenxin Yiyan dalam pembangunan PHP?

王林
王林asal
2023-08-26 20:39:311115semak imbas

Bagaimana untuk melaksanakan penjanaan imej dan pemprosesan tera air bagi ayat rawak Baidu Wenxin Yiyan dalam pembangunan PHP?

Bagaimana untuk melaksanakan penjanaan imej dan pemprosesan tera air bagi ayat rawak Baidu Wenxin Yiyan dalam pembangunan PHP?

Dalam pembangunan web, selalunya perlu menambah beberapa teks atau tera air pada imej untuk meningkatkan kandungan maklumat dan interaktiviti imej. Artikel ini akan memperkenalkan cara menggunakan pembangunan PHP untuk melaksanakan penjanaan imej mudah dan fungsi pemprosesan tera air, yang mana Baidu Himor akan menjadi sumber data pernyataan rawak kami.

Pertama, kita perlu mendapatkan ayat rawak Wen Xinyiyan. Baidu Wenxin Yiyan menyediakan API terbuka yang boleh mendapatkan data pernyataan rawak dengan menghantar permintaan HTTP. Berikut ialah contoh menggunakan kod PHP untuk mendapatkan pernyataan rawak:

$url = 'https://api.btstu.cn/yan/api.php';  
$response = file_get_contents($url);
$data = json_decode($response, true);
$random_sentence = $data['text'];

Kod di atas menghantar permintaan HTTP melalui fungsi file_get_contents, mendapatkan pernyataan rawak Wen Xinyiyan dan menghuraikan data JSON yang dikembalikan ke dalam tatasusunan bersekutu. Kita boleh mengeluarkan medan teks daripada tatasusunan dan mendapatkan kandungan pernyataan rawak.

Seterusnya, kami akan menggunakan perpustakaan GD PHP untuk menjana imej. Pustaka GD ialah perpustakaan sambungan untuk PHP yang menyediakan satu siri fungsi untuk memproses imej. Dengan memanggil fungsi ini, kita boleh melukis teks pada gambar dan menetapkan gaya, saiz dan warna teks. Berikut ialah contoh mudah menggunakan perpustakaan GD untuk menjana imej:

$width = 500;
$height = 200;
$image = imagecreatetruecolor($width, $height);
$background_color = imagecolorallocate($image, 255, 255, 255);
$text_color = imagecolorallocate($image, 0, 0, 0);
$font = 'path/to/font.ttf';
imagettftext($image, 30, 0, 50, 100, $text_color, $font, $random_sentence);
imagepng($image, 'path/to/image.png');
imagedestroy($image);

Kod di atas mula-mula mencipta imej kosong dengan saiz yang ditentukan, dan menetapkan warna latar belakang dan warna teks. Kemudian, gunakan fungsi imagettftext untuk melukis teks pada gambar, menyatakan saiz, sudut, kedudukan dan warna teks. Akhir sekali, simpan imej yang dijana ke laluan yang ditentukan melalui fungsi imagepng.

Akhir sekali, jika kita ingin menambah tera air pada imej yang dihasilkan, kita boleh menggunakan fungsi ImageCopyMerge yang disediakan oleh perpustakaan GD. Berikut ialah contoh mudah menggunakan perpustakaan GD untuk menambah tera air pada imej:

$source_image = imagecreatefrompng('path/to/source_image.png');
$watermark_image = imagecreatefrompng('path/to/watermark.png');
$watermark_width = imagesx($watermark_image);
$watermark_height = imagesy($watermark_image);
$source_width = imagesx($source_image);
$source_height = imagesy($source_image);
$pos_x = $source_width - $watermark_width - 10;
$pos_y = $source_height - $watermark_height - 10;
imagecopymerge($source_image, $watermark_image, $pos_x, $pos_y, 0, 0, $watermark_width, $watermark_height, 50);
imagepng($source_image, 'path/to/output_image.png');
imagedestroy($source_image);

Kod di atas mula-mula memuatkan imej asal dan imej tera air, dan memperoleh lebar dan ketinggiannya. Kemudian, dengan melaraskan kedudukan imej tera air, gunakan fungsi ImageCopyMerge untuk menggabungkan imej tera air pada imej asal. Akhir sekali, simpan imej yang diproses ke laluan yang ditentukan melalui fungsi imagepng.

Melalui kod contoh di atas, kami boleh melaksanakan penjanaan imej dan fungsi pemprosesan tera air dengan mudah dalam pembangunan PHP, dan menggunakan ayat rawak yang disediakan oleh Baidu Wenxinyiyan untuk menambah lebih banyak interaksi dan minat pada imej.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan penjanaan imej dan pemprosesan tera air bagi ayat rawak Baidu Wenxin Yiyan dalam pembangunan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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