Php彩色文字、居中文字和多行文字
多行文字,居中,每个单词必须具有不同的颜色。我尝试了太多的方法。但他们都不能做我想做的事。这怎么可能是一个简单和无故障的方式 如何将文本分成3-4个具有相同颜色背景、每个具有不同颜色的单词 $metin=“音乐行业大鲨鱼如何揭露音乐行业中的许多无良分子” 静态gd库的示例:Php彩色文字、居中文字和多行文字,php,Php,多行文字,居中,每个单词必须具有不同的颜色。我尝试了太多的方法。但他们都不能做我想做的事。这怎么可能是一个简单和无故障的方式 如何将文本分成3-4个具有相同颜色背景、每个具有不同颜色的单词 $metin=“音乐行业大鲨鱼如何揭露音乐行业中的许多无良分子” 静态gd库的示例: use GDText\Box; use GDText\Color; $files = glob('./fontlar/*.ttf'); $fontik = implode("||", $files); $fonti
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++;
}
使用GDText\Box;
使用GDText\Color;
$files=glob('./fontlar/*.ttf');
$fontik=内爆(“| |,$files”);
$fontik2=$fontik;
$metin=“音乐行业大鲨鱼如何揭露音乐行业中的许多无良分子”;
$metin=pregİU replace(“/”、“$metin”);
$yenimetin=str_replace('-','$metin);
$yenimetin=str_replace(“\n”,”$yenimetin);
$yenimetip=wordwrap($yenimetin,1,“
”,false);
echo$Yenimetip;
$prc=爆炸(“
”,$YENIMETIP);
$i=0;
而($isetFontColor(新颜色($r,$g,$b));
$box->setTextShadow(新颜色(0,0,0,50),2,2);
$box->setFontSize(150);
$box->setBox(strlen($prc[$i]),2018001000);
$box->setTextAlign('left','center');
$box->draw($prc[$i]);
$renkler=array(“#ffffffff”、“#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(新颜色($r、$g、$b));
$box->setTextShadow(新颜色(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(“#ffffffff”、“#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(新颜色($r、$g、$b));
$box->setTextShadow(新颜色(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\u cropped\u侧);
imagepng($crapped'./tmp/test'.$i..png');
图像破坏(裁剪);
*/
$i++;
}
失败。在下面的var colors中签名有效的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(' ');
});
var colors=[“ED401B”、“蓝色”、“红色”、“绿色”、“黄色”];
$('#您的文本').html(函数(i,文本){
返回$.map(text.split(“”),函数(word){
返回“”+单词+“”;
}).加入(“”);
});
以下是JSFIDLE:
我不认为使用str_replace可以做到这一点,但我认为jquery可以做到。使用拆分字符串,使用从结果数组中获取3-4个块。您可能还希望更新您的问题,以包括GD库(或者是一个仅适用于PHP的解决方案可行吗?)@我用过kerbholz。主要的问题是所有单词的颜色、位置、背景调整和间距。所以在imagettftext中…我正在更新谢谢你的答案,但它必须是PHP。我在确定文本颜色方面没有问题。只是因为每个单词的颜色不同,所以在放置它们时存在问题,在它们之间留有空格。我很瘦k、 我需要一个好的imagettftext-alghoritm。@巴里斯,我不知道php中的soluiton,希望你能得到你的答案。看到这个我想这是你的答案:谢谢你(teşekkür ederim)@Dilek。我试过了。它不支持每一个背景颜色不同的单词都有彩色文本。