我想从字符串创建一个图像,并且能够将此图像用作我正在生成的pdf的背景。
这几乎不是问题。我希望生成的图像是一个完整尺寸的图像,我知道有两个选择:
首先:假设图像具有固定大小并找到说明名称必须是全尺寸的方法(创建的图像是从图像的最左下方开始旋转45°的文本)。
第二:假设图像具有不同的大小,具体取决于名称使用的大小。
我不知道自己是否清楚,但如果有人有任何想法,请告诉我!
PS:这是我目前的代码:
// Création de l'image
$im = imagecreatetruecolor();
// Création de quelques couleurs
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 240, 240, 240);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 400, 500, $white);
// Le texte à dessiner
$text = $this->user->data->display_name;
// Définition de la variable d'environnement pour GD
putenv('GDFONTPATH=' . realpath('.'));
// Remplacez le chemin par votre propre chemin de police
$font = 'arial.ttf';
// Ajout du texte
imagettftext($im, 100, 45, 100, 500, $grey, $font, $text);
// Utiliser imagepng() donnera un texte plus claire,
// comparé à l'utilisation de la fonction imagejpeg()
$this->watermark = 'watermark/'.date('Y-m-d-H-i-s').'.png';
imagepng($im, $this->watermark);
imagedestroy($im);
答案 0 :(得分:1)
如果您知道要用于从文本创建图像的字体,则可以使用imagettfbbox()
确定水印大小,然后使用imagecreatetruecolor()
生成图像。