2009-04-04 8 views
4

Hallo, ich bin dabei, die Farben auf einem Bild zu kolorieren und zu tauschen, indem ich die GD-Bildbibliothek mit PHP verwende.Färben und Tauschen von Farben mit PHP GD Image Library?

ich ein Originalbild verwenden hier zu finden: http://korlon.com/youknowbetter/test.jpg

Und will es zu einem Punkt, wo es Orange Gesicht mit schwarzer Kleidung und Haare ist ähnlich wie Sie hier sehen: http://youknowdifferent.org/

Bisher ich habe den folgenden Code verwendet:

<?php 
header('Content-type: image/jpeg'); 
$im = imagecreatefromjpeg('test.jpg'); 



imagefilter($im, IMG_FILTER_GRAYSCALE); 
imagefilter($im, IMG_FILTER_CONTRAST, 255); 
imagefilter($im, IMG_FILTER_NEGATE); 
imagefilter($im, IMG_FILTER_COLORIZE, 252, 137, 36); 


imagejpeg($im); 
?> 

um es in der Nähe zu bekommen, aber ich bin immer noch die Fähigkeit fehlt, alle weißen Farbtönen zu schwarzen Farbtönen zu drehen. http://korlon.com/youknowbetter/filter.php

habe ich versucht Swapping für Verdunklung weiß wie hier in dieser Frage beauftragt: Can I swap colors in image using GD library in PHP?

jedoch nicht zu funktionieren scheint. Es ersetzt die Farben nicht wirklich. Ist das, weil ich ein Jpg und kein GIF verwende? Muss ich etwas mit der Farbpalette machen?

Danke, jede Hilfe würde sehr geschätzt werden!

Stoob

Antwort

5

Verwendung Blue (# 0276DB) statt orange, und dann inverse das Bild (mit IMAGE_FILTER_NEGATE) orange und schwarz zu bekommen.

So wird Ihr Code sein:

<?php 
header('Content-type: image/jpeg'); 
$im = imagecreatefromjpeg('test.jpg'); 



imagefilter($im, IMG_FILTER_GRAYSCALE); 
imagefilter($im, IMG_FILTER_CONTRAST, 255); 
imagefilter($im, IMG_FILTER_NEGATE); 
imagefilter($im, IMG_FILTER_COLORIZE, 2, 118, 219); 
imagefilter($im, IMG_FILTER_NEGATE); 

imagejpeg($im); 
?>