GD: Transparente Schrift

Ok, wenn das scheinbar nicht möglich ist, brauch ich irgendwie einen anderen Lösungsweg:

Für einen Link sollen 2 Zustände dynamisch definiert werden:

- a:hover
- nicht-hover

Über das style-Attribut kann man ja einem Element css-Eigenschaften zuordnen:

HTML:
<a href="#" style="background-image: url(gif_gener.php?text=Menupunkt"></a>
Das wäre dann für die Klasse "nicht-hover".
Wie bekomm ich nun für die Klasse "hover" ein anderes Bild geladen:
HTML:
<a href="#" style="background-image: url(gif_gener_hover.php?text=Menupunkt"></a>
Dabei soll die CSS-Angabe direkt im HTML-Element definiert werden.
Ich steh da momentan völlig auf dem Schlauch.
Danke im Vorraus!
 
In dem du korrektes CSS verwendest und in dem du CSS-Classes verwendest.

HTML:
<style type="text/css">
a.link1 {
   background-image: url('/pfad/bildsowieso.jpg');
}
a.link1:hover {
   background-image: url('pfad/bildanderes.jpg');
}
</style>

Grüße
 
Wie gesagt, das Html-Element soll direkt formatiert werden.
Die Einbindung dieser dynamischen Definitionen ins Stylesheet innnerhalb der Html-Datei oder in einer externen CSS-Datei will ich verhindern.

Nochmal anders formuliert:

Wie ist es möglich, ein dynamisches Menü zu realisieren, bei dem die Link-Flächen aus Gif/PNG bestehen. Dabei soll ein Hover-Effekt durch 2 verschiedene GIf/PNG erreicht werden. Das ganze innerhalb des HTML-Elements.

Meine erste Überlegung war, Gif's mit transparenter Schrift zu erzeugen, die auf einem Link mit hover-Effekt liegen:

externe CSS:
Code:
a.menue_main
{
        background-color: white;
        background-repeat: no-repeat;
        width:150px;
        height: 20px;
        display: block;
}
a.menue_main:hover
{
        background-color: #FFF98A;
        background-repeat: no-repeat;
        width:150px;
        height: 20px;
        display: block;
}
Html-Dokument
HTML:
<a href="#" class="menue_main" style="background-image: url(text.php?text=Link%201)"></a>

Das wär die eleganteste Lösung, weil nur eine Grafik pro Link benötigt wird. Aber dafür bräuchte ich halt transparente Schrift.

Wenn noch Ideen bestehen, gerne her damit.
 
Ums anschaulich zu machen, was ich meine: http://campari.free-site-host.com/trans.htm (hoffe adblock ist installiert ;)

PHP:
$text = $_GET['text'];
header ("Content-type: image/png");
$im = ImageCreate (150, 20);
$red = ImageColorAllocate ($im,  200, 200, 200); 
$trans = ImageColorAllocate ($im, 0x20, 0x60, 0xaa);  
$trans = ImageColortransparent($im,$trans);//affects all occurances of blue, before and after this line 
ImageString ($im, 5, 60, 2,  $text, $trans); 
Imagepng ($im);

Hab es bei php.net entdeckt. Geht soweit auch gut.
Das Problem ist, dass kaum Parameter für die Schrift definierbar sind:
es soll eine eigene ttf angesprochen werden, und die Schriftgrösse in px angegeben werden.
Aber ich bekomme mit imagegettftext kein brauchbares Ergebnis, die Schrift ist nicht mehr transparent:

PHP:
ImageTTFText ($im, 11, 0, 50, 14, $trans, "LATENITEF", $text);
 
Zurück