Farbe eines Bildes ändern

Jan-Frederik Stieler

Monsterator
Moderator
Hallo,
ich lasse mit PHP auf meiner Seite die Farbe von Links (a) varieren
PHP:
<?php
header("content-type: text/css");
?>

<?php
$new[1] = "#ff00fb";
$new[2] = "#fcff00";
$new[3] = "#00ff00";
$new[4] = "#00d8ff";
$zufall = rand(1,4);
?>

a:hover, li:hover
{
color: <?php echo $new[$zufall]; ?>
}

nun hab eich auf der Seite aber auch ein Logo welches auf dei Startseite verlinkt ist. Dieses Logo ändert auch seine Farbe beim hover.
Gibt es eine Möglichkeit, vielleicht mit Imagemagick, die Farbe des Logos abhängig von der gerade ausgewählten zu verändern?

Viele Grüße
 
Warum willst du das mit Image-Magick machen? Das kostet doch viel zu viel Rechenzeit. Ich würde 4 verschiedene Versionen (Farbthemen) von dem besagten Bild machen, diese von 1 bis 4 durchnummieren, und genauso einbinden, wie die Link-Farbe.
 
Hallo!

Sehe ich genauso.

Ein kleines Beispiel ("dummy.gif" ist ein transparentes Bild):
PHP:
<?php
$new[1] = array("#ff00fb", "background_1.jpg", "hoverimg_1.jpg");
$new[2] = array("#fcff00", "background_2.jpg", "hoverimg_2.jpg");
$new[3] = array("#00ff00", "background_3.jpg", "hoverimg_3.jpg");
$new[4] = array("#00d8ff", "background_4.jpg", "hoverimg_4.jpg");
$zufall = rand(1,4);
?>

<html>
<head>
<style type="text/css">
a:hover, li:hover {
    color: <?php echo $new[$zufall][0]; /* 1. Wert im Array (Textfarbe) */ ?>
}

div.firmenlogo {
    background-image:url(<?php echo $new[$zufall][1]; /* 2. Wert im Array (Hintergrundbild) */ ?>);
}

div.firmenlogo:hover {
    background-image:url(<?php echo $new[$zufall][2]; /* 2. Wert im Array (Hintergrundbild beim Hover) */ ?>);
}
</style>
</head>
<body>

<div class="firmenlogo" style="width: 200px; height: 200px;"><a href="#"><img src="dummy.gif" style="border: none; width: 200px; height: 200px;" alt=""></a></div>

<a href="#">Ein Testlink.</a>
</body>
</html>

Gruss Dr Dau
 
Hallo,
das mit Imagemagick war nur so ne Idee. Hab mir diesbezüglich auch schon Gedanken gemacht ob das nicht viel zu lange dauert das Bild zu erzeugen. Hab halt nicht so viel Ahnung von PHP. Würd mich ja liebend gerne mehr damit auseinandersetzen wenn ich nur genug Zeit hätte :).
Aber die Bilder jetzt direkt in die Variable mir einzuarbeiten ist mir jetzt nicht eingefallen. Manchmal liegt das Gute doch so nah :).

Wie lautet den die Syntax wenn ich die Funktion <?php echo $this->template ?>für den Speicherort mit einbauen möchte? Weil wenn ich da ja Anführungszeichen drinnen hab wird die Funktion doch nicht als solche erkannt.

Viele Grüße
 
Zuletzt bearbeitet:
HI,
wie kann ich es den so machen das dieser Zufallsgenerator nur bei bestimmten Links (z.B über die ID) funktioniert und nicht bei jedem Reload der Seite?

Viele Grüße
 
Zurück