Aktueller Standort: Startseite> Neueste Artikel> Verwenden Sie ImageFontwidth (), um Sperrtextschichten zu erstellen

Verwenden Sie ImageFontwidth (), um Sperrtextschichten zu erstellen

M66 2025-05-28

<?php // 设置内容类型为图像 header('Content-Type: image/png'); // 创建画布 $width = 800; $height = 100; $image = imagecreatetruecolor($width, $height); // 定义颜色 $backgroundColor = imagecolorallocate($image, 0, 0, 0); // 黑色背景 $textColor = imagecolorallocate($image, 255, 255, 255); // 白色文字 // 填充背景 imagefilledrectangle($image, 0, 0, $width, $height, $backgroundColor); // 要显示的弹幕文字 $danmuTexts = [ "欢迎来到m66.net!", "PHP制作弹幕图层演示", "让文字飞一会儿~" ]; // 使用内置字体编号(1-5) $font = 5; // 获取字体的宽度与高度 $charWidth = imagefontwidth($font); $charHeight = imagefontheight($font); // 初始Y位置 $y = 10; // 循环绘制每条弹幕 foreach ($danmuTexts as $index => $text) { // 计算文字总宽度 $textWidth = strlen($text) * $charWidth; // 设置X位置为图像右侧外边界,用于模拟从右向左滚动 $x = $width - ($index * 50); // 模拟不同起始偏移 // Y位置随行数递增 $textY = $y + $index * ($charHeight + 5); // 绘制文字 imagestring($image, $font, $x, $textY, $text, $textColor); } // 输出图像 imagepng($image); imagedestroy($image); ?>


Schritte detaillierte Erläuterung:


  1. Verwenden Sie ImageCrreatTueColor (), um eine leere Leinwand mit einer bestimmten Breite und Höhe zu erstellen.

  2. Setzen Sie die Farbe:
    Verwenden Sie ImageColOralCocate () , um dem Hintergrund bzw. dem Text Farbwerte zuzuweisen.

  3. Hintergrundfarbe füllen:
    Verwenden Sie ImageFilledRectangle () , um die gesamte Ebene in Schwarz zu füllen, um gemeinsame Flaggergänge zu simulieren.

  4. Setzen Sie den Textinhalt und eine Schriftart:
    Definieren Sie die wenigen zu angezeigten Textabsätze und wählen Sie die integrierte PHP-Schriftart (Nummer 1-5). Wenn Sie ImagettFtext () verwenden, können Sie auch benutzerdefinierte TTF -Schriftdateien unterstützen.

  5. Berechnen Sie die Textbreite:
    ImageFontwidth () gibt die Pixelbreite jedes Zeichens in der aktuellen Schriftart zurück. In Kombination mit Strlen () können Sie die erforderliche Breite des gesamten Textes berechnen.

  6. Text zeichnen:
    Imagestring () wird verwendet, um Text zu zeichnen und in die entsprechende Position auf der Leinwand zu platzieren. Wir setzen verschiedene X -Offsets ein, um den Effekt des von rechts eingebenen Sperrs zu simulieren.

  7. Das Bild ausgeben und die Ressource zerstören:
    Verwenden Sie ImagePng () , um PNG -Bilder auszugeben, und verwenden Sie dann Imagedestroy (), um Ressourcen freizugeben.