如何使用PHP将富文本转换为图片?
How to convert rich text into an image using PHP?
我正在尝试将富文本转换为图像,但它如何显示图像中的 html 标签,我正在使用 PHP 图像功能将文本转换为图像。
- 任何人都知道我们如何使用 PHP[将 RICH TEXT 转换为 image ?
也许 imagick 扩展 link 也是一个选项?富文本是什么意思?你是指 php 中的字符串吗?
此功能将文字转为图片,可以设置文字的字体和颜色,随机名称和透明背景图片保存在目录和return地址
需要在根目录下有字体并创建缓存目录。
function converteTextoImagem($texto,$cor_letra = '000000'){
if($texto){
$qtd_letras = strlen($texto);
$tamanho = $qtd_letras*6.8;
$im = imagecreate($tamanho, 14);
imagesavealpha($im, true);
imagealphablending($im, false);
$white = imagecolorallocatealpha($im, 255, 255, 255, 127);
imagefill($im, 0, 0, $white);
$r_l =substr($cor_letra, 0, 2);
$g_l =substr($cor_letra, 2, 2);
$b_l =substr($cor_letra, 4, 2);
$r_l = "0x".$r_l;
$g_l = "0x".$g_l;
$b_l = "0x".$b_l;
$cor_letra = imagecolorallocate($im,$r_l,$g_l,$b_l);
$font_size = 11; //Tamanho da font
$anglo = 0; //Anglo do texto em graus
$dest_x = 0; //Posição do texto na horizontal
$dest_y = 11; //Posição do texto na vertical
$font = './Helvetica LT 47 Light Condensed.ttf'; //Font usada para escrever o texto
imagettftext($im, $font_size, $anglo, $dest_x, $dest_y, $cor_letra, $font, $texto); //Escreve o texto na imagem
// envia a imagem
$nome = rand(10000000,99999999);
imagepng($im, 'cache/img/'.$nome.'.jpg'); //Se voce quiser salva-la em um novo arquivo
//header ("Content-type: image/jpeg");
//imageJpeg($im); //Se voce quiser imprimi la na tela
//imagedestroy($im); //Deleta a imagem temporaria
return 'cache/img/'.$nome.'.png';
}
}
<image src='<?php echo converteTextoImagem("text"); ?>'/>
您可以配置 PHP 和 ImageMagick 以使用 Pango,这是一种富文本类型。我不是 Pango 方面的专家,当然还有更多可能 - 请参阅 Pango Gallery 示例。
$img = new Imagick();
$img->setBackgroundColor(new ImagickPixel('yellow'));
$img->setPointSize(72);
$HTML = "<span fgcolor='red' bgcolor='#0000ff'>red</span>\n";
$HTML.= "<b><u>Bold and underlined</u></b>\n";
$HTML.= "<i><s>Italic and struckthrough</s></i>";
$img->newPseudoImage(800,400,"pango:$HTML");
$img->writeImage("result.png");
关键字:ImageMagick、IMagick、PHP、HTML、标记、RTF、富文本格式、格式化文本
我正在尝试将富文本转换为图像,但它如何显示图像中的 html 标签,我正在使用 PHP 图像功能将文本转换为图像。
- 任何人都知道我们如何使用 PHP[将 RICH TEXT 转换为 image ?
也许 imagick 扩展 link 也是一个选项?富文本是什么意思?你是指 php 中的字符串吗?
此功能将文字转为图片,可以设置文字的字体和颜色,随机名称和透明背景图片保存在目录和return地址
需要在根目录下有字体并创建缓存目录。
function converteTextoImagem($texto,$cor_letra = '000000'){
if($texto){
$qtd_letras = strlen($texto);
$tamanho = $qtd_letras*6.8;
$im = imagecreate($tamanho, 14);
imagesavealpha($im, true);
imagealphablending($im, false);
$white = imagecolorallocatealpha($im, 255, 255, 255, 127);
imagefill($im, 0, 0, $white);
$r_l =substr($cor_letra, 0, 2);
$g_l =substr($cor_letra, 2, 2);
$b_l =substr($cor_letra, 4, 2);
$r_l = "0x".$r_l;
$g_l = "0x".$g_l;
$b_l = "0x".$b_l;
$cor_letra = imagecolorallocate($im,$r_l,$g_l,$b_l);
$font_size = 11; //Tamanho da font
$anglo = 0; //Anglo do texto em graus
$dest_x = 0; //Posição do texto na horizontal
$dest_y = 11; //Posição do texto na vertical
$font = './Helvetica LT 47 Light Condensed.ttf'; //Font usada para escrever o texto
imagettftext($im, $font_size, $anglo, $dest_x, $dest_y, $cor_letra, $font, $texto); //Escreve o texto na imagem
// envia a imagem
$nome = rand(10000000,99999999);
imagepng($im, 'cache/img/'.$nome.'.jpg'); //Se voce quiser salva-la em um novo arquivo
//header ("Content-type: image/jpeg");
//imageJpeg($im); //Se voce quiser imprimi la na tela
//imagedestroy($im); //Deleta a imagem temporaria
return 'cache/img/'.$nome.'.png';
}
}
<image src='<?php echo converteTextoImagem("text"); ?>'/>
您可以配置 PHP 和 ImageMagick 以使用 Pango,这是一种富文本类型。我不是 Pango 方面的专家,当然还有更多可能 - 请参阅 Pango Gallery 示例。
$img = new Imagick();
$img->setBackgroundColor(new ImagickPixel('yellow'));
$img->setPointSize(72);
$HTML = "<span fgcolor='red' bgcolor='#0000ff'>red</span>\n";
$HTML.= "<b><u>Bold and underlined</u></b>\n";
$HTML.= "<i><s>Italic and struckthrough</s></i>";
$img->newPseudoImage(800,400,"pango:$HTML");
$img->writeImage("result.png");
关键字:ImageMagick、IMagick、PHP、HTML、标记、RTF、富文本格式、格式化文本