Ich habe eine Sammlung von Schwarz-Weiß-JPEGs auf meinem Server gespeichert. Diese Bilder basieren auf Symbolen, wobei das Symbol eine Sammlung schwarzer Linien auf weißem Hintergrund ist.Überlagern von Farbe auf einem JPEG mit PHP/GD?
Ich versuche, GD zu verwenden, um die schwarze Farbe mit einer anderen Farbe auf der Grundlage einer Variablen zu ersetzen, die bestanden wird. Derzeit ich bin:
Erste das JPEG als: $ image = imagecreatefromjpeg ($ imgURL), einen HEX-Code konvertieren (# FF0000, sagen) durch PHP in RGB,
Und dann diese Variablen zu füttern:
private function colourize_image($image, $colour, $contrast = 0) {
if (!$image) { return false; }
imagealphablending($image, true);
imagesavealpha($image, true);
# Convert hex colour into RGB values
$r = hexdec('0x' . $colour{0} . $colour{1});
$g = hexdec('0x' . $colour{2} . $colour{3});
$b = hexdec('0x' . $colour{4} . $colour{5});
imagefilter($image, IMG_FILTER_COLORIZE, $r, $g, $b);
imagefilter($image, IMG_FILTER_CONTRAST, $contrast);
# Return the GD image object
return $image;
}
Aus irgendeinem Grund funktioniert die Funktion überhaupt nicht (es wird keine neue Farbe überlagern).
Kann mir jemand sagen, wo ich falsch liege?
Vielen Dank.
Wie wird $ color übergeben? Ich habe diese {0} -Notation für den Zugriff auf eine Variable noch nie gesehen. –
Wenn es eine Zeichenfolge wie "FFFFFF" für Weiß ist, sollten Sie eckige Klammern verwenden, nicht geschweifte Klammern. –