0

我想从一个字符串创建一个图像,并能够将此图像用作我正在生成的 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);
4

1 回答 1

1

如果您知道将用于从文本创建图像的字体,则可以使用imagettfbbox()来确定水印大小,然后用于imagecreatetruecolor()生成图像。

http://www.php.net/manual/en/function.imagettfbbox.php

于 2013-07-08T13:10:43.370 回答