Mit PHP Text auf Bild schreiben

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Mit PHP Text auf Bild schreiben

    Hallo zusammen,

    ich habe eine kleines Problem.
    Ich habe mir eine Routine geschrieben, mit der ich auf Bilder ein Text mittels Php schreiben kann.

    Funktioniert (Einen text):

    Quellcode

    1. <?php
    2. define('ROOT_PATH', '../');
    3. include(ROOT_PATH.'inc/define.php');
    4. $date = date('H-i-s');
    5. $rand = rand(0, 99);
    6. $SourceFile = IMAGE_PATH.'blank/10.jpeg';
    7. $DestinationFile = IMAGE_PATH.'finish/'.$date.'_'.$rand.'.jpeg';
    8. $WaterMarkText = $_GET['texto'];
    9. watermarkImage ($SourceFile, $WaterMarkText, $DestinationFile);
    10. function watermarkImage ($SourceFile, $WaterMarkText, $DestinationFile) {
    11. list($width, $height) = getimagesize($SourceFile);
    12. $image_p = imagecreatetruecolor($width, $height);
    13. $image = imagecreatefromjpeg($SourceFile);
    14. imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width, $height);
    15. $black = imagecolorallocate($image_p, 76, 73, 105);
    16. $font = FONT_PATH.'3.ttf';
    17. $font_size = 20;
    18. imagettftext($image_p, $font_size, 12, 108, 217, $black, $font, $WaterMarkText);
    19. if ($DestinationFile<>'') {
    20. imagejpeg ($image_p, $DestinationFile, 100);
    21. } else {
    22. header('Content-Type: image/jpeg');
    23. imagejpeg($image_p, null, 100);
    24. };
    25. imagedestroy($image);
    26. imagedestroy($image_p);
    27. };
    28. ?>
    Alles anzeigen

    Aber wenn ich zwei Texte schreiben will geht das nicht, hier der Code:
    Es wird nun gar kein Text mehr ausgegeben...

    Quellcode

    1. <?php
    2. define('ROOT_PATH', '../../');
    3. include(ROOT_PATH.'inc/define.php');
    4. $date = date('H-i-s');
    5. $rand = rand(0, 99);
    6. $SourceFile = IMAGE_PATH_PARFUM.'blank/parfum/1.jpg';
    7. $DestinationFile = IMAGE_PATH_PARFUM.'finish/parfum/'.$date.'_'.$rand.'.jpg';
    8. $WaterMarkText = $_GET['texto'];
    9. $WaterMarkTextx = $_GET['textox'];
    10. watermarkImage ($SourceFile, $WaterMarkText, $WaterMarkTextx, $DestinationFile);
    11. function watermarkImage ($SourceFile, $WaterMarkText, $WaterMarkTextx, $DestinationFile) {
    12. list($width, $height) = getimagesize($SourceFile);
    13. $image_p = imagecreatetruecolor($width, $height);
    14. $image = imagecreatefromjpeg($SourceFile);
    15. imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width, $height);
    16. $black = imagecolorallocate($image_p, 58, 58, 58);
    17. $font = FONT_PATH_PARFUM.'4.ttf';
    18. $font_size = 30;
    19. imagettftext($image_p, $font_size, -10, 200, 420, $black, $font, $WaterMarkText);
    20. if ($DestinationFile<>'') {
    21. imagejpeg ($image_p, $DestinationFile, 100);
    22. } else {
    23. header('Content-Type: image/jpeg');
    24. imagejpeg($image_p, null, 100);
    25. };
    26. imagedestroy($image);
    27. imagedestroy($image_p);
    28. };
    29. ?>
    Alles anzeigen

    Was mache ich da falsch?

    Die Weiterleitung sieht so aus:
    ?texto=Testing&textox=Text+2

    Das sollte ja richtig sein.
    Aber es kommt einfach kein text auf dem Bild

    Hier erfolgt die Texteingabe:
    [Blockierte Grafik: http://s14.directupload.net/images/111215/xmqgfc3g.png]

    Das Input sieht so aus:

    Quellcode

    1. <form method='GET' action='convert/parfum/1.php'>
    2. <label><input type="text" name="texto"></label><label><input type="text" name="textox"></label> <input type="submit" value="Submit"></form>

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Sumale.nin ()