簡體   English   中英

Php 彩色單詞、居中和多行文本

[英]Php Colored Words, Centered and Multiline Text

多行文本,居中,每個單詞必須是不同的顏色。 我試過太多方法了。 但他們都不能做我想做的事。 這怎么可能是一種簡單而無故障的方法?

如何將文字分成3-4個字,背景顏色相同,每個字顏色不同?

$metin="Music Industry Sharks 如何揭開音樂行業不法分子的面紗";

帶有靜止 gd 庫的示例:

use GDText\Box;
use GDText\Color;

    $files = glob('./fontlar/*.ttf');
$fontik = implode("||", $files);
$fontik2=$fontik;




$metin="Music Industry Sharks How to Uncover the Unscrupulous Many in the Music Business";
$metin=preg_replace("/[^A-Za-z0-9öÖüÜéèêôÄäçÇŞşĞğİı ]/", '', $metin);
$yenimetin=str_replace('-','',$metin);
$yenimetin=str_replace("\n",'',$yenimetin);
$yenimetinp = wordwrap($yenimetin, 1, "<br>", false);

echo $yenimetinp;
$prc=explode('<br>',$yenimetinp);

$i=0;

while ($i<=substr_count($yenimetinp,'<br>')) {


if (substr_count($fontik2,'||')<=0); $fontik2=$fontik;
$nafont=explode('||',$fontik2);
$nafont=$nafont[rand(0,substr_count($fontik2,'||'))];
$fontik2=str_replace($nafont.'||','',$fontik2);
$fontik2=str_replace('||'.$nafont,'',$fontik2);



$im = imagecreatetruecolor(2000, 1000);
$backgroundColor = imagecolorallocate($im, 0, 18, 64);
imagefill($im, 0, 0, $backgroundColor);

$renkler=array("#FFFFFF","#99FF00","#FFCC00","#ACF17E","#92E4E4","#FFFF33","#00FF66");

$rgb = hex2rgb($renkler[array_rand($renkler)]);

$r=$rgb[0];
$g=$rgb[1];
$b=$rgb[2];

$box = new Box($im);
$box->setFontFace(__DIR__.$nafont);
$box->setFontColor(new Color($r, $g, $b));
$box->setTextShadow(new Color(0, 0, 0, 50), 2, 2);
$box->setFontSize(150);
$box->setBox(strlen($prc[$i]), 20, 1800, 1000);
$box->setTextAlign('left', 'center');

$box->draw($prc[$i]);

    $renkler=array("#FFFFFF","#99FF00","#FFCC00","#ACF17E","#92E4E4","#FFFF33","#00FF66");

$rgb = hex2rgb($renkler[array_rand($renkler)]);

$r=$rgb[0];
$g=$rgb[1];
$b=$rgb[2];
$box->setFontFace(__DIR__.$nafont);
$box->setFontColor(new Color($r, $g, $b));
$box->setTextShadow(new Color(0, 0, 0, 50), 2, 2);
$box->setFontSize(150);
$box->setBox(strlen($prc[$i])*100, 20, 1800, 1000);
$box->setTextAlign('left', 'center');

$box->draw($prc[$i+1]);

    $renkler=array("#FFFFFF","#99FF00","#FFCC00","#ACF17E","#92E4E4","#FFFF33","#00FF66");

$rgb = hex2rgb($renkler[array_rand($renkler)]);

$r=$rgb[0];
$g=$rgb[1];
$b=$rgb[2];
$box->setFontFace(__DIR__.$nafont);
$box->setFontColor(new Color($r, $g, $b));
$box->setTextShadow(new Color(0, 0, 0, 50), 2, 2);
$box->setFontSize(150);
$box->setBox(strlen($prc[$i+1])*150, 20, 1800, 1000);
$box->setTextAlign('left', 'center');

$box->draw($prc[$i+2]);

imagepng($im,'./tmp/test'.$i.'.png');
/*

$cropped = imagecropauto($im, IMG_CROP_SIDES);      
imagepng($cropped,'./tmp/test'.$i.'.png');
imagedestroy( $cropped );   
*/
    $i++;
}

測試0

失敗

在下面的 var 顏色中簽署有效的 css 顏色

var colors = ["#ED401B", "blue", "red", "green", "yellow"];

$('#your-text').html(function (i, text) {
    return $.map(text.split(' '), function (word) {
         return '<div style="color:'
             + colors[Math.floor(Math.random() * colors.length)]
             + '">' + word + '</div>';
    }).join(' ');
});

這是 jsfiddle: https ://jsfiddle.net/4fhvsw1j/1/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM