Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „Text auf Bild schreiben“

T

testeer

Guest

Ich habe mir per mod_rewrite eine Idee für Trafficklauer ausgedacht. Falls ein Bild von einem anderen Server geladen werden sollte leitet mod_rewrite auf ein Skript weiter, dass den Namen der Seite auf das Bild schreiben soll. Das funktioniert auch schon ganz gut mit diesem Skript:

Code:
header("Content-type: image/png");
$file = $_GET['file'];
$endung = pathinfo("http://localhost".$file);
if(strToLower($endung['extension']) == "png"){
$im     = imagecreatefrompng("http://localhost".$file);
}
else if(strToLower($endung['extension']) == "jpg" || strToLower($endung['extension']) == ".jpeg"){
$im     = imagecreatefromjpeg("http://localhost".$file);
}
else if(strToLower($endung['extension']) == "gif"){
$im     = imagecreatefromgif("http://localhost".$file);
}
$orange = imagecolorallocate($im, 220, 210, 60);
$px     = (imagesx($im) - 7 * strlen("localhost")) / 2;
imagestring($im, 3, $px, 9, "localhost", $orange);
imagepng($im);
imagedestroy($im);

Jetzt soll der Text aber nicht nur klein irgendwo auf dem Bild stehen - wie jetzt - , sondern sich über das ganze Bild erstrecken. Aber ich kann ja schlecht Prozentzahlen benutzen, oder geht das? Bei mir kam eine Fehlermeldung, kann aber sein, dass ich es falsch benutzt habe. Hat jemand eine Idee?
 

Duddle

Posting-Frequenz: 14µHz

Was meinst du mit ?über das ganze Bild erstrecken??
Willst du diagonal riesig deinen Schriftzug bringen, oder soll er immer wieder untereinander geschrieben werden?

Mit imagettftext kannst du zumindest schnonmal einen Winkel für den Text angeben. Wahrscheinlich kann man es irgendwie errechnen, wie groß die Schriftgröße bei Bildgröße xy sein muss, oder du probierst ein wenig aus.
Alternativ kannst du auch deinen Schriftzug selber in ein großes png/gif bringen und eben wie ein Wasserzeichen auf jedes extern verwendete Bild skaliert draufpappen. Besonders wenn du es anfangs groß anlegst wirst du kaum Verzerrungsprobleme bekommen.

Willst du es immer untereinander schreiben, musst du nur die Bildgröße auslesen und deine Schrift in ner Schleife einfügen.


Duddle
 
T

testeer

Guest

Ich wollte den Text einzeilig oben am Rand des Bildes haben, halt über die gesamte Bildbreite. Das mit dem errechnen ist immer so eine Sache, weil nicht alle Buchstaben gleich groß sind. Ich habe mich jetzt vorerst mal dafür entschieden, den Text einfach in die Mitte des Bildes zu schreiben.
 
T

testeer

Guest

Ah, danke, der letzte Link war hilfreich, ich wusste nämlich nicht, dass die Funktion ein Array zurückgibt, indem die benötigten Infos stehen. Ich hab mir zwar mal auf php.net die Funktion angeschaut, aber die Erklärung war verwirrend.
 
T

testeer

Guest

Die hier gibt ein Array zurück:

Code:
$TS = Imagettfbbox($texthöhe, 0, $fontfile, $textzeile);

in diesem Fall $TS.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Statistik des Forums

Themen
175.158
Beiträge
2.581.880
Mitglieder
67.226
Neuestes Mitglied
Alec168
Oben