Jetzt kostenlos Anmelden!

Sumale.nin Männlich

postet ab und an hier

Beiträge: 213

Geschlecht: Männlich

Wohnort: Essen

PHPKIT Version: 1.6.5

1

Donnerstag, 15. Dezember 2011, 17:00

Mit Php Text auf einem 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):

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
define('ROOT_PATH''../');
include(ROOT_PATH.'inc/define.php');

$date date('H-i-s');
$rand rand(099);
$SourceFile IMAGE_PATH.'blank/10.jpeg';
$DestinationFile IMAGE_PATH.'finish/'.$date.'_'.$rand.'.jpeg';
$WaterMarkText $_GET['texto'];
watermarkImage ($SourceFile$WaterMarkText$DestinationFile);

function watermarkImage ($SourceFile$WaterMarkText$DestinationFile) {
list($width$height) = getimagesize($SourceFile);
$image_p imagecreatetruecolor($width$height);
$image imagecreatefromjpeg($SourceFile);
imagecopyresampled($image_p$image0000$width$height$width$height);
$black imagecolorallocate($image_p7673105);
$font FONT_PATH.'3.ttf';
$font_size 20;
imagettftext($image_p$font_size12108217$black$font$WaterMarkText);
if ($DestinationFile<>'') {
imagejpeg ($image_p$DestinationFile100);
} else {
header('Content-Type: image/jpeg');
imagejpeg($image_pnull100);
};
imagedestroy($image);
imagedestroy($image_p);
};
?>

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

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
define('ROOT_PATH''../../');
include(ROOT_PATH.'inc/define.php');

$date date('H-i-s');
$rand rand(099);
$SourceFile IMAGE_PATH_PARFUM.'blank/parfum/1.jpg';
$DestinationFile IMAGE_PATH_PARFUM.'finish/parfum/'.$date.'_'.$rand.'.jpg';
$WaterMarkText $_GET['texto'];
$WaterMarkTextx $_GET['textox'];
watermarkImage ($SourceFile$WaterMarkText$WaterMarkTextx$DestinationFile);

function watermarkImage ($SourceFile$WaterMarkText$WaterMarkTextx$DestinationFile) {
list($width$height) = getimagesize($SourceFile);
$image_p imagecreatetruecolor($width$height);
$image imagecreatefromjpeg($SourceFile);
imagecopyresampled($image_p$image0000$width$height$width$height);
$black imagecolorallocate($image_p585858);
$font FONT_PATH_PARFUM.'4.ttf';
$font_size 30;
imagettftext($image_p$font_size, -10200420$black$font$WaterMarkText);
if ($DestinationFile<>'') {
imagejpeg ($image_p$DestinationFile100);
} else {
header('Content-Type: image/jpeg');
imagejpeg($image_pnull100);
};
imagedestroy($image);
imagedestroy($image_p);
};
?>

Was mache ich da falsch?
  • Zum Seitenanfang
  • Zum Seitenende

|BuLLeT| Männlich

#1.6.1 - still alive #

Beiträge: 1 356

Geschlecht: Männlich

Wohnort: Leipzig

PHPKIT Version: 1.6.1

2

Donnerstag, 15. Dezember 2011, 17:51

nimm den code aus der "1 zeile Text" und kopiere dort nur die zeile

PHP-Quelltext

1
imagettftext($image_p$font_size12108217$black$font$WaterMarkText);


mit neuen angaben...

kann beliebig oft verwendet werden
  • Zum Seitenanfang
  • Zum Seitenende

Sumale.nin Männlich

postet ab und an hier

Beiträge: 213

Geschlecht: Männlich

Wohnort: Essen

PHPKIT Version: 1.6.5

3

Donnerstag, 15. Dezember 2011, 17:59

So funktioniert das auch nicht

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
define('ROOT_PATH''../../');
include(ROOT_PATH.'inc/define.php');

$date date('H-i-s'); 
$rand rand(099);
$SourceFile IMAGE_PATH_PARFUM.'blank/parfum/1.jpg';
$DestinationFile IMAGE_PATH_PARFUM.'finish/parfum/'.$date.'_'.$rand.'.jpg';
$WaterMarkText $_GET['texto'];
$WaterMarkTextx $_GET['textox'];
watermarkImage ($SourceFile$WaterMarkText$WaterMarkTextx$DestinationFile);

function watermarkImage ($SourceFile$WaterMarkText$WaterMarkTextx$DestinationFile) {
   list($width$height) = getimagesize($SourceFile);
   $image_p imagecreatetruecolor($width$height);
   $image imagecreatefromjpeg($SourceFile);
   imagecopyresampled($image_p$image0000$width$height$width$height);
   $black imagecolorallocate($image_p585858);
   $font FONT_PATH_PARFUM.'4.ttf';
   $font_size 30;
   imagettftext($image_p$font_size, -10200420$black$font$WaterMarkText);
   imagettftext($image_p$font_size12100320$black$font$WaterMarkTextx);
   if ($DestinationFile<>'') {
      imagejpeg ($image_p$DestinationFile100);
   } else {
      header('Content-Type: image/jpeg');
      imagejpeg($image_pnull100);
   };
   imagedestroy($image);
   imagedestroy($image_p);
};
?>


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:


Das Input sieht so aus:
[code] <form method='GET' action='convert/parfum/1.php'>
<label><input type="text" name="texto"></label><label><input type="text" name="textox"></label> <input type="submit" value="Submit"></form>[/php]

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Sumale.nin« (15. Dezember 2011, 18:06)

  • Zum Seitenanfang
  • Zum Seitenende

Dirk Kántor Männlich

aká Dooki

Beiträge: 2 074

Geschlecht: Männlich

PHPKIT Version: keine

4

Donnerstag, 15. Dezember 2011, 18:38

stimmt dein ROOT_PATH immernoch?
:thumbsup:    :thumbsup:       *tc*       :thumbsup:    :thumbsup:
8o           Achtung: Dirk Kántor ist unterwegs!           8o
Er verteilt gerne Verwarnungen ohne vorher darüber diskutiert zu haben.
  • Zum Seitenanfang
  • Zum Seitenende

Sumale.nin Männlich

postet ab und an hier

Beiträge: 213

Geschlecht: Männlich

Wohnort: Essen

PHPKIT Version: 1.6.5

5

Donnerstag, 15. Dezember 2011, 19:06

Ja, die Datei liegt einen Ordner tiefer

€/
kann ich jemanden denn mal FTP Daten zukommen lassen?
Es ist auch nicht an die Datenbank gebunden bzw. besitzt keine Datenbank, alles On-The-Fly
  • Zum Seitenanfang
  • Zum Seitenende

Dirk Kántor Männlich

aká Dooki

Beiträge: 2 074

Geschlecht: Männlich

PHPKIT Version: keine

6

Donnerstag, 15. Dezember 2011, 19:11

und was is damit: FONT_PATH (vorher) und FONT_PATH_PARFUM (nachher)? und IMAGE_PATH_PARFUM (vorher ohne PARFUM)

stimmen diese daten alle noch?

du zeigst uns hier 2 unterschiedliche dateien, mit der einen soll es klappen und mit der anderen nicht.. und man sieht immerwieder änderungen... hmm..

und die dateiendung jpg und jpeg?...

€dit: mach ruhig ;)
:thumbsup:    :thumbsup:       *tc*       :thumbsup:    :thumbsup:
8o           Achtung: Dirk Kántor ist unterwegs!           8o
Er verteilt gerne Verwarnungen ohne vorher darüber diskutiert zu haben.
  • Zum Seitenanfang
  • Zum Seitenende

Sumale.nin Männlich

postet ab und an hier

Beiträge: 213

Geschlecht: Männlich

Wohnort: Essen

PHPKIT Version: 1.6.5

7

Donnerstag, 15. Dezember 2011, 19:28

PN ist raus, Dirk!
Danke!
  • Zum Seitenanfang
  • Zum Seitenende

Sumale.nin Männlich

postet ab und an hier

Beiträge: 213

Geschlecht: Männlich

Wohnort: Essen

PHPKIT Version: 1.6.5

8

Donnerstag, 15. Dezember 2011, 21:59

Danke an Dirk!
Problem wurde gelöst.

Kann mir denn jemand verraten wie ich ein PNG Transparent bekomme?
Aktueller Code:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php

error_reporting(E_ALL); 

define('ROOT_PATH''../../');
include(ROOT_PATH.'inc/define.php');

$date date('H-i-s'); 
$rand rand(099);
$SourceFile IMAGE_PATH_PARFUM.'blank/parfum/1.png';
$DestinationFile IMAGE_PATH_PARFUM.'finish/parfum/'.$date.'_'.$rand.'.png';
$WaterMarkText $_GET['texto'];
$WaterMarkTextx $_GET['textox'];
watermarkImage ($SourceFile$WaterMarkText$WaterMarkTextx$DestinationFile);

function watermarkImage ($SourceFile$WaterMarkText$WaterMarkTextx$DestinationFile) {
list($width$height) = getimagesize($SourceFile);
$image_p imagecreatetruecolor($width$height);
$image imagecreatefrompng($SourceFile);
imagecopyresampled($image_p$image0000$width$height$width$height);
$font FONT_PATH_PARFUM.'jilsander.ttf';
$font_size_text 13;
$font_size_textx 40;
$color_text imagecolorallocate($image_p232754);
$color_textx imagecolorallocate($image_p23713628);
$transparents imagecolorallocate($image0x000xFF0x00);
imagettftext($image_p$font_size_text90120250$color_text$font$WaterMarkText); # Maße anpassen
imagettftext($image_p$font_size_textx90169250$color_textx$font$WaterMarkTextx); # Maße anpassen
imagecolortransparent($image$transparents);
if ($DestinationFile<>'') {
imagepng ($image_p$DestinationFile9);
} else {
header('Content-Type: image/png');
imagepng($image_pnull9);
};
imagedestroy($image);
imagedestroy($image_p);
};
?>

Das ist aber im Hintergrund immer noch schwarz
Ich habe mich versucht hier dran zu orientieren: http://www.webmaster-eye.de/Transparente…58.artikel.html
Aber ich verstehe nicht wo das "black" hinkommen soll in meinem Code, da ich dieses String ja nicht verwende

Edit://
Erledigt!

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Sumale.nin« (16. Dezember 2011, 16:52)

  • Zum Seitenanfang
  • Zum Seitenende