Rumah pembangunan bahagian belakang masalah PHP Apakah sebab mengapa php imagettftext bercelaru? Bagaimana untuk menyelesaikannya?

Apakah sebab mengapa php imagettftext bercelaru? Bagaimana untuk menyelesaikannya?

Apr 26, 2023 am 10:30 AM

Dalam PHP, kita boleh melukis teks dalam fail fon TrueType pada imej melalui fungsi imagettftext(). Walaupun fungsi ini sangat mudah, kadangkala kita menghadapi masalah imagettftext aksara bercelaru, iaitu, teks yang dipaparkan pada imej tidak konsisten dengan apa yang ditakrifkan dalam fail fon asal, yang akan menjejaskan pengalaman aplikasi kami dengan serius.

Dalam artikel ini, kami akan meneroka sebab mengapa imagettftext bercelaru dan cara menyelesaikan masalah ini. | masalah versi dengan pustaka imej PHP. Berikut adalah kemungkinan sebab imagettftext bercelaru:

1 Fail fon tidak serasi dengan sistem: Fail fon TrueType dicipta oleh pereka bentuk fon dan kadangkala tidak serasi dengan sistem yang berbeza seperti Windows dan Linux.

2.Masalah versi perpustakaan imej PHP: Versi pustaka imej yang berbeza mungkin mempunyai sokongan yang berbeza untuk fail fon. Jika PHP anda tidak serasi dengan versi pustaka imej, fungsi imagettftext() mungkin juga mempunyai aksara yang bercelaru.

3. Masalah dengan fail fon itu sendiri: Sebelum menggunakan fungsi imagettftext(), anda perlu memastikan bahawa fail fon anda dipasang dengan betul pada sistem/pelayan anda.

2. Kaedah untuk menyelesaikan watak bercelaru imagettftext

Walaupun mungkin terdapat banyak sebab untuk watak bercelaru imagettftext, kita boleh mengambil beberapa langkah untuk menyelesaikan masalah ini.

1. Semak Fail Font

Mula-mula, kita perlu memastikan bahawa fail fon kami dipasang dengan betul pada sistem/pelayan kami. Biasanya, fail fon hendaklah diletakkan dalam direktori akar projek anda atau folder fon dalam direktori projek anda.

Selain itu, sebelum menggunakan fail fon, adalah disyorkan agar anda cuba menukarnya kepada format .ttf dan menyemak sama ada terdapat aksara khas melalui baris arahan atau editor fon (seperti FontForge), yang boleh menyebabkan imej menjadi masalah kod bercelaru.

2. Gunakan fon yang boleh dilaksanakan

Selepas menyemak fail fon, jika anda masih menghadapi masalah bercelaru imagettftext, maka anda boleh cuba menggunakan beberapa fail fon yang boleh dilaksanakan Fail ini telah digunakan secara meluas digunakan dan terbukti berfungsi dengan baik. Berikut ialah beberapa cadangan fail fon yang biasa digunakan:

Arial

Verdana
  • Times New Roman
  • Courier New
  • 3. Gunakan fungsi mb_convert_encoding()
  • Jika fail fon anda tidak serasi dengan sistem/pelayan, maka anda boleh cuba menggunakan fungsi mb_convert_encoding() untuk menyelesaikan masalah aksara imagettftext yang kacau.

Fungsi mb_convert_encoding() boleh menukar rentetan daripada satu pengekodan aksara kepada yang lain. Sebelum menggunakan fungsi mb_convert_encoding(), anda perlu menambah laluan ke fail fon pada fail konfigurasi PHP.ini. Laluan fon boleh ditetapkan menggunakan baris kod berikut:

ini_set('gd.jpeg_ignore_warning', 1);

putenv('GDFONTPATH=' . realpath('.'));

Langkah-langkah untuk menggunakan fungsi mb_convert_encoding() adalah seperti berikut:


1 Gunakan fungsi mb_detect_encoding() untuk mengesan kaedah pengekodan rentetan anda:

$str = '. Saya adalah watak Cina';

$encoding = mb_detect_encoding($str);

2 Gunakan fungsi mb_convert_encoding() untuk menukar rentetan daripada pengekodan yang dikesan kepada pengekodan yang ditentukan:

<.>$charset = ' UTF-8';
$output = mb_convert_encoding($str, $charset, $encoding);

3. Hasilkan imej dan gunakan fungsi imagettftext() untuk melukis teks pada imej:

$img = imagecreatetruecolor(640, 480);
$black = imagecolorallocate($img, 0, 0, 0);

$text = $output;

$font = 'arialbd.ttf' ; //Gunakan font Arial

imagettftext($img, 24, 0, 10, 50, $black, $font, $text);

header('Content-Type : image/png');
imagepng($img);
imagedestroy($img);

Di atas ialah contoh mudah menggunakan fungsi mb_convert_encoding(), anda boleh menukarnya mengikut keperluan anda.

Kesimpulan

Dalam aplikasi praktikal, kami sering menggunakan fungsi imagettftext() untuk melukis aksara pada imej. Fungsi ini sangat mudah, tetapi kadangkala kami menghadapi masalah imagettftext bercelaru, yang menjejaskan pengalaman aplikasi kami. Dalam artikel ini, kami membincangkan kemungkinan punca imagettftext bercelaru dan cara membetulkannya. Kami berharap artikel ini dapat membantu anda menyelesaikan masalah imagettftext bercelaru dan menjadikan aplikasi anda lebih cantik dan praktikal.

Atas ialah kandungan terperinci Apakah sebab mengapa php imagettftext bercelaru? Bagaimana untuk menyelesaikannya?. 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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat 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)

OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum. OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum. Mar 26, 2025 pm 04:13 PM

Artikel ini membincangkan kelemahan OWASP 10 dalam strategi PHP dan mitigasi. Isu -isu utama termasuk suntikan, pengesahan yang rosak, dan XSS, dengan alat yang disyorkan untuk memantau dan mendapatkan aplikasi PHP.

PHP 8 JIT (Just-in-Time) Penyusunan: Bagaimana ia meningkatkan prestasi. PHP 8 JIT (Just-in-Time) Penyusunan: Bagaimana ia meningkatkan prestasi. Mar 25, 2025 am 10:37 AM

Kompilasi JIT Php 8 meningkatkan prestasi dengan menyusun kod yang sering dilaksanakan ke dalam kod mesin, memberi manfaat kepada aplikasi dengan pengiraan berat dan mengurangkan masa pelaksanaan.

PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail. PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail. Mar 26, 2025 pm 04:18 PM

Artikel ini membincangkan mendapatkan muat naik fail PHP untuk mengelakkan kelemahan seperti suntikan kod. Ia memberi tumpuan kepada pengesahan jenis fail, penyimpanan selamat, dan pengendalian ralat untuk meningkatkan keselamatan aplikasi.

Penyulitan PHP: Penyulitan simetri vs asimetrik. Penyulitan PHP: Penyulitan simetri vs asimetrik. Mar 25, 2025 pm 03:12 PM

Artikel ini membincangkan penyulitan simetri dan asimetrik dalam PHP, membandingkan kesesuaian, prestasi, dan perbezaan keselamatan mereka. Penyulitan simetri lebih cepat dan sesuai untuk data pukal, manakala asimetrik digunakan untuk pertukaran utama yang selamat.

Pengesahan PHP & amp; Kebenaran: Pelaksanaan selamat. Pengesahan PHP & amp; Kebenaran: Pelaksanaan selamat. Mar 25, 2025 pm 03:06 PM

Artikel ini membincangkan pelaksanaan pengesahan dan kebenaran yang mantap dalam PHP untuk mencegah akses yang tidak dibenarkan, memperincikan amalan terbaik dan mengesyorkan alat peningkatan keselamatan.

PHP CSRF Perlindungan: Bagaimana untuk mencegah serangan CSRF. PHP CSRF Perlindungan: Bagaimana untuk mencegah serangan CSRF. Mar 25, 2025 pm 03:05 PM

Artikel ini membincangkan strategi untuk mencegah serangan CSRF di PHP, termasuk menggunakan token CSRF, kuki tapak yang sama, dan pengurusan sesi yang betul.

PHP API Kadar Mengehadkan: Strategi Pelaksanaan. PHP API Kadar Mengehadkan: Strategi Pelaksanaan. Mar 26, 2025 pm 04:16 PM

Artikel ini membincangkan strategi untuk melaksanakan kadar API yang mengehadkan PHP, termasuk algoritma seperti baldi token dan baldi bocor, dan menggunakan perpustakaan seperti simfoni/kadar-limiter. Ia juga meliputi pemantauan, had kadar penyesuaian secara dinamik, dan tangan

Pengesahan Input PHP: Amalan Terbaik. Pengesahan Input PHP: Amalan Terbaik. Mar 26, 2025 pm 04:17 PM

Artikel membincangkan amalan terbaik untuk pengesahan input PHP untuk meningkatkan keselamatan, memberi tumpuan kepada teknik seperti menggunakan fungsi terbina dalam, pendekatan putih, dan pengesahan sisi pelayan.

See all articles