» Texteffekte mit PHP: imagettftext mit Verlauf / Farbverlauf

imagettfbbox Alternative: imagettfboxNeuen Thread eröffnenNeue Antwort erstellenSchrifteffekte: Verlauf, Schatten & Umrandung im Einsatz
AutorNachricht
Administrator 

Name: Marc
Geschlecht:
Anmeldedatum: 28.08.2004
Beiträge: 52420
Wohnort: Lohmar


Meine eBay-Auktionen:
20.11.2008, 15:50
zitieren

Hallo,

neben Schatten und Umrandung, konnte ich jetzt auch einen Farbverlauf realisieren.

Einziger Haken im Moment ist, dass kein Antialias unterstützt wird. Ich musste Antialias ausschalten, damit die Schriftfarbe komplett entfernt werden konnte, um sie dann wiederrum gegen einen Verlauf tauschen zu können.

Ich stufe die Funktion erstmal als Beta ein, weil die Farberkennung des Hintergrunds nicht perfekt ist und es glaube ich zu Problemen kommen kann, wenn weiß in der Verlaufsfarbe eingesetzt wird. Auch kann noch keine Richtung für den Verlauf oder multiple Verläufe festgelegt werden. Feedback ist daher erwünscht ;)

Es wird die Funktion imagettfbox() benötigt, die hier zu finden ist:
http://www.programmierer-forum.de/imagettfbbox-alternative-imagettfbox-t80556.htm

Nun die Funktion für die Verlaufsschrift:
function imagettfgradient($im, $size, $angle, $x, $y, $color, $font, $text, $tcolor, $bcolor=false) {
// box size
$box = imagettfbox($size, $angle, $font, $text);
$width = $box['width'];
$height = $box['height'];
// gradient colors
$tcolor =imagecolorsforindex($im, $tcolor);
if ($bcolor !== false) {
$bcolor =imagecolorsforindex($im, $bcolor);
$steps = array(
'red' => ($tcolor['red'] - $bcolor['red']) / ($box['height']-1),
'green' => ($tcolor['green'] - $bcolor['green']) / ($box['height']-1),
'blue' => ($tcolor['blue'] - $bcolor['blue']) / ($box['height']-1)
);
}
else {
$bcolor = $tcolor;
}
// make white image with black text
$im2 = imagecreate($width, $height);
$white = imagecolorallocate($im2, 255, 255, 255);
$black = imagecolorallocate($im2, 0, 0, 0); // black must be set as the 2nd color because 0 cant be -0!
imagefill($im2, 0, 0, $white);
imagettftext($im2, $size, $angle, $box['left'], $box['top'], -$black, $font, $text);
// make black text transparent
imagecolortransparent($im2, $black);
// make image with gradient background
$im3 = imagecreate($width, $height);
for ($i = 0; $i < $height; $i++) {
imagefilledrectangle($im3, 0, $i, $width, $height, imagecolorallocate($im3, $tcolor['red'], $tcolor['green'], $tcolor['blue']));
$tcolor = array(
'red' => $tcolor['red'] - $steps['red'],
'green' => $tcolor['green'] - $steps['green'],
'blue' => $tcolor['blue'] - $steps['blue'],
);
}
// merge text and gradient
imagecopy($im3, $im2, 0, 0, 0, 0, $width, $height);
imagedestroy($im2);
// make background transparent
imagecolortransparent($im3, imagecolorat($im3, 0, $height-1));
// merge base with gradient text
imagecopy($im, $im3, $x-$box['left'], $y-$box['top'], 0, 0, $width, $height);
imagedestroy($im3);
}

Erklärungen:
tcolor = Farbe oben
bcolor = Farbe unten

Beispiel:
// settings
$font = '../fonts/Tuffy.ttf';
$text = 'Programmierer-Forum.de';
$size = 50;
$border = 10;
// image
$box = imagettfbox($size, 0, $font, $text);
$x = $box['left'] + $border;
$y = $box['top'] + $border;
header("Content-type: image/gif");
$width = $box['width']+200;
$height = $box['height']+50;
$im = imagecreate($width, $height);
// colors
$black = imagecolorallocate($im, 0, 0, 0);
$red = imagecolorallocate($im, 255, 0, 0);
$blue = imagecolorallocate($im, 0, 0, 255);
// display text
imagettfgradient($im, $size, 0, $x, $y, $black, $font, $text, $blue, $red);
// display image
imagegif($im);
imagedestroy($im);


 
schrift-mit-normaler-blauer-füllung.gif
schrift-mit-normaler-blauer-füllung.gif - Angeschaut: 2153 mal

 
schrift-mit-farbverlaufsfüllung.gif
schrift-mit-farbverlaufsfüllung.gif - Angeschaut: 2156 mal

pn email
Gast 
20.11.2008, 15:50
zitieren

Mach mit!

Wenn Dir die Beiträge zum Thread "Texteffekte mit PHP: imagettftext mit Verlauf / Farbverlauf" gefallen haben oder Du noch Fragen hast oder Ergänzungen machen möchtest, solltest Du Dich gleich bei uns anmelden:



Registrierte Mitglieder genießen die folgenden Vorteile:
✔ kostenlose Mitgliedschaft
keine Werbung
✔ direkter Austausch mit Gleichgesinnten
✔ neue Fragen stellen oder Diskussionen starten
✔ schnelle Hilfe bei Problemen
✔ Bilder und Videos hochladen
✔ und vieles mehr...


Neuen Thread eröffnenNeue Antwort erstellen
Ähnliche BeiträgeRe:
Letzter Beitrag
 Texteffekte mit PHP: imagettftext mit Schatten
Hallo, ich habe hier eine Funktion realisiert, die einen TrueType-Schriftzug mit einem Schatten ausstattet. Hier die Funktion: function imagettfshadow($im, $size, $angle, $x, $y, $font, $text, $width, $frcolor, $bgcolor=false,...
[PHP]von mgutt
0
8.982
19.11.2008, 16:39
mgutt
 Texteffekte mit PHP: imagettftext mit Umrandung / Rand
Hi, neben diesem Schatteneffekt: http://www.programmierer-forum.de/texteffekte-mit-php-imagettftext-mit-schatten-t80468.htm habe ich es jetzt noch geschafft einen Umrandungseffekt zu realisieren. Hier die Funktion: function...
[PHP]von mgutt
0
4.437
19.11.2008, 21:31
mgutt
Lackierung im Farbverlauf?
Hallo ihr lieben! Ich bin mal ganz neu hier.. und hab gleich eine Frage. Ich möchte gerne mein Baby (EH6) lackieren lassen. Nach meiner Vorstellung soll es eine Farbe sein, die von vorn nach hinten immer dunkler wird. Nun war ich bei ein...
von Ladida
8
1.569
19.04.2007, 14:11
Merlin86
PN-Verlauf mit Datum und Uhrzeit?
wäre es denn nicht möglich, dass man im PN-Verlauf nicht nur : "civic-ej1-Freak schrieb:" steht, sondern auch wann genau? also dann z.b. so: "civic-ej1-freak schrieb am 26.09.2014, 14:03 Uhr:" grund is der, dass ich doch öfters was...
von civic-ej1-freak
0
596
26.09.2014, 12:09
civic-ej1-freak
Unser Sistrix Sichtbarkeitsindex im Verlauf
Sistrix ist ein Unternehmen, das ein Tool anbietet, mit dem man seine Sichtbarkeit in den Google Suchergebnissen ermitteln kann. Link dazu: http://www.sichtbarkeitsindex.de/maxrev.de Wir ermitteln in unregelm��igen Abst�nden den Wert und erweitern...
von mgutt
0
167
26.05.2014, 09:37
mgutt
Windows 10: Clipboard History / Zwischenablage-Verlauf
Eventuell kennt ihr das auch. Man hat gerade was per Copy & Paste kopiert, dann musste man irgendeine E-Mail bearbeiten und hat wieder was kopiert und dann stellt man plötzlich fest, dass der soeben kopierte Text weg ist. Seit 2018 gibt es in Windows...
von mgutt
0
260
05.12.2019, 10:13
mgutt
 Schrifteffekte: Verlauf, Schatten & Umrandung im Einsatz
Hier ein Beispiel, wenn man die folgenden Effekte...
[PHP]von mgutt
0
1.072
20.11.2008, 16:00
mgutt
IE8: URL Verlauf (rechts Pfeil nach unten) zeigt keine Liste
Hi, ich bin fast verzweifelt, weil ich über den Dropdown-Pfeil keine URLs mehr sehen konnte, die ich bisher eingegeben habe. Auch Vorschläge gabs keine mehr. Da ich den Verlauf nicht löschen lasse und die entsprechende Einstellung auf 24 Tage...
von mgutt
0
519
23.01.2011, 22:07
mgutt
Nokia Navigation (N8) Maps: "Nach Hause, Verlauf, usw." weg
Hi, es gibt jetzt eine neue Version von der Nokia Navigation. Folgendes muss ich erstmal nicht verstehen: Es gibt keine Anzeige mehr für die Ankunftszeit. Also wer das programmiert hat gehört erschlagen. Und dann sind alle wichtigen Menüs nicht...
von mgutt
2
748
03.12.2011, 16:57
mgutt
Mediawiki - Verlauf "vergessen" lassen
Hallo Leute, wir benutzen Mediawiki als Intranet. Nun sind wir noch in der Erstellphase, dabei hat sich natürlich von Anfang an am Inhalt ein Haufen geändert, immer wieder wurden Seiten erstellt, dann doch wieder gelöscht, das selbe auch bei den...
von Shanai
2
232
03.12.2010, 09:13
carchaias
© 2004 - 2024 www.programmierer-forum.de | Communities | Impressum |