2010-12-14 6 views
-1

Ist es möglich, HTML-Div-Tag mit Stil auf Bild in PHP zu drucken ?. wenn nicht, was ist dann der alternative Weg?Drucken Sie stilvolle Text auf Bild in PHP

+3

Geist, was ** auf Ihrem ** mega Geist zu teilen hilft? Oder sogar eine URL zur Veranschaulichung Ihrer erwarteten Ausgabe? – ajreal

+0

aber ich muss als jpg Bild produzieren. (Entschuldigung, ich habe vergessen, in meiner Frage zu erwähnen) –

+0

Sie suchen nach einer Funktion zum Speichern von formatiertem HTML als Bild? Das wäre eine Herausforderung für einen Programmierer mit verfügbarer Zeit. >> Funktion html2png ($ html, $ css) 8 – Teson

Antwort

0

Sie können das Bild als Hintergrundgrafik eines beliebigen div mit CSS festlegen. Dann erscheint der Text innerhalb dieses Bereichs oben auf dem Bild.

(CSS) 
.mydiv { 
    background:url(/path/to/image.gif); 
    width:100px; /* set to width of the image */ 
    height:100px; /* set to height of the image */ 
} 

(HTML) 
<div class='mydiv'>Some text here</div> 
+0

aber ich muss als jpg Bild produzieren. (Entschuldigung, ich habe vergessen, in meiner Frage zu erwähnen) –

+0

@Kumar V - Sie können auf diese Weise jede Art von Bild (gif, png oder jpg) verwenden. – Spudley

+0

nicht so. Endgültige Ausgabe sollte Bild sein. Ich habe GD-Funktion verwendet, um ein Bild zu erzeugen. aber es erlaubt mir nicht Stil im Text hinzuzufügen. –

0

Es gibt keine einfache Möglichkeit, Text auf Bildern mit HTML/CSS auf Server-Seite zu drucken, weil PHP nicht html analysieren kann, so dass Sie besser eine andere Lösung wie php GD finden würde.

1

Einige Hosts haben ImageMagick für PHP. Um Text zu Ihrem Bild hinzuzufügen, werfen Sie einen Blick auf die Syntax der Befehle here. Das Beispiel auf dieser Seite sollte einigen helfen - es ist ziemlich einfach, Text auf einem Bild zu erhalten. Die Vorteile der Verwendung von ImageMagick gegenüber einem fixierten Bild bestehen darin, dass Sie den Inhalt des Textes variieren können, was Sie wünschen (Sie haben nicht erwähnt, dass Sie einen statischen Text benötigen; dazu würde ich ein Bild verwenden) mit einem transparenten Hintergrund). Suchen Sie nach umfassenderen Schriftartbefehlen here.

Um ein transparentes Bild auf Ihr Basisbild zu legen, werfen Sie einen Blick auf this very nicely designed site.

Ich werde auch den Code auf dieser Website präsentierten geben:

 
$photo = imagecreatefromjpeg("original.jpg"); 
$watermark = imagecreatefrompng("watermark.png"); 

// This is the key. Without ImageAlphaBlending on, the PNG won't render correctly. 
imagealphablending($photo, true); 

// Copy the watermark onto the master, $offset px from the bottom right corner. 
$offset = 10; 

imagecopy($photo, $watermark, imagesx($photo) - imagesx($watermark) - $offset, imagesy($photo) - imagesy($watermark) - $offset, 0, 0, imagesx($watermark), imagesy($watermark)); 

// Output to the browser 
header("Content-Type: image/jpeg"); 
imagejpeg($photo); 

das Bild in einer Datei, bitte Google diese und ersetzen Sie die letzten beiden Zeilen des oben angegebenen Beispiel ausgegeben wird.

Für Sachen ImageMagick, werfen Sie einen Blick here

Ich hoffe, das :-)

James