• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

imagecreatefromgif in Seite "einbinden"

schlegel.berlin

New member
Hallo liebe Leute,

neuerdings beschäftige ich mich mit der Manipulation von Grafiken mittels PHP (bin da noch in den Anfängen) und habe ein Problem, bei dem ich offenabr wieder jemaden brauche, der mir auf die Sprünge hilft.

Also, um ein bestimmte Farbe innerhalb einer Grafik zu ersetzen, habe ich zu Übungszwecken folgendes kleines Codeschnipsel geschrieben:
PHP:
$bild = imagecreatefromgif("beispiel.gif"); 
$alteFarbe = imagecolorexact($bild, 255,255,0); // hier wird gelb ermittelt 
imagecolorset($bild, $alteFarbe, 255, 0, 0); // rot ersetzt gelb
imagegif($bild);
imagedestroy($bild);

Das funktioniert als solches auch genau so, wie ich es mir vorgestellt habe.

Nun aber will ich das Ergebnis dieser Bildmanipulation in ein HTML-Umgebung einbinden, also, vereinfacht dargestellt, etwa so:
Code:
<html>
<body>

<?php
$bild = imagecreatefromgif("bild.gif"); 
$alteFarbe = imagecolorexact($bild, 255,255,0); 
imagecolorset($bild, $alteFarbe, 255, 0, 0); //neue Farbe
imagegif($bild);
imagedestroy($bild);
?>

</body>
</html>

Das aber funktioniert nicht. Wo liegt der (Denk)Fehler? Und wie krieg ich das hin?

Ich bin sicher, dass einer von Euch mir helfen kann ...

Liebe Grüße, Karin
 
du musst das bild ganz normal mit einem img-tag einbinden und als source das php script angeben.
Außerdem musst du in dem script noch
header('Content-Type: image/gif');
setzen
 
Danke, "skooli",

das war der entscheidende Hinweis. Auf das mit header('Content-Type: image/gif'); setzen, bin ich inzwischen auch schon gekommen, hatte dabei aber einen kleinen Tippfehler (imag anstelle von image), was natürlich zu einem Fehler führte. Und wie das so ist bei eigenen Tippfehlern: Ich habe ihn "hundert Mal" überlesen ...

Auf jeden Fall danke für Deine nützlich, schnelle und nette Hilfe. Jetzt funktioniet, danke Deines Hinweises, alles so wie gewünscht.

Grüße, Karin

PS: Noch ein kurzer Hinweis, falls das nochmal jemand benötigt.

Die "neue Farbe" wird als Hexcode aus einer Textdatei "geliefert" .
Um diesen Hexwert in RGB - Werte zu wandeln, bin ich wie folgt vorgegangen:

PHP:
header('Content-Type: image/gif');

$farbe = "#7774DE"; // Neue Farbe aus einer externen Datei importiert

$farbe=trim(preg_replace("/#/","",$farbe)); 
$farbkanal=array(hexdec(substr($farbe,0,2)),hexdec(substr($farbe,2,2)),hexdec(substr($farbe,4,2)));
$r = $farbkanal[0];
$g = $farbkanal[1];
$b =  $farbkanal[2];

$bild = imagecreatefromgif("bild.gif"); 
$alteFarbe = imagecolorexact($bild, 255,255,0); 
imagecolorset($bild, $alteFarbe, $r, $g, $b); //neue Farbe als RGB-Werte
imagegif($bild);
imagedestroy($bild);
 
Zuletzt bearbeitet:
Zurück
Oben