R
Ramix
Hallo Zusammen
Ich habe nochmal ein GDLib Problem. Es geht um das lesen einer FarbID. Wenn eine bestimmte Farbe vorkommt, soll das Pixel anders eingefärbt werden.
Das aussuchen der betroffenen Pixel klappt super. Das einfärben wiederum nicht. HIER hatte ich schon ein ähnliches Problem.
Aber jetzt beim 2. Mal kann ich mir nicht vorstellen, das einfärben nur so mühsam über imagecopy() möglich ist. Ich frage mich für was es imagesetpixel() überhaupt gibt!?
Hier mal das Script:
Im Anhang ist auch noch das verwendete Bild. Damit der Unterschied bei auch funktioniert (falls es jemand versuchen will).
Danke für Antworten
Gruss Binz
Ich habe nochmal ein GDLib Problem. Es geht um das lesen einer FarbID. Wenn eine bestimmte Farbe vorkommt, soll das Pixel anders eingefärbt werden.
Das aussuchen der betroffenen Pixel klappt super. Das einfärben wiederum nicht. HIER hatte ich schon ein ähnliches Problem.
Aber jetzt beim 2. Mal kann ich mir nicht vorstellen, das einfärben nur so mühsam über imagecopy() möglich ist. Ich frage mich für was es imagesetpixel() überhaupt gibt!?
Hier mal das Script:
PHP:
class zweifarben{
public function __construct(){
$hallo = $this->gradient();
$savedir = "5Bilder1.gif";
imagegif($hallo,$savedir,100);
}
public function gradient(){
$img = 'Bilder1.gif';
list($x,$y) = getimagesize($img);
$img = imagecreatefromgif($img);
$test = "000000";
list($r, $g, $b) = sscanf($test, "%2x%2x%2x");
$test = array ($r, $g, $b);
print_r($test);
$color2 = imagecolorat($img,0,0);
$index = imagecolorsforindex($img,$color2);
$farbcode = $index["red"] . $index["green"] . $index["blue"];
for($a=0;$a<$y;$a++){
for($i=0;$i<$x;$i++){
$color = imagecolorat($img,$i,$a);
$index = imagecolorsforindex($img,$color);
$farbcode2 = $index["red"] . $index["green"] . $index["blue"];
echo $farbcode2;
if($farbcode==$farbcode2){
$color = imagecolorallocatealpha($img, $test[0],$test[1],$test[2],127);
imagesetpixel($img,$i,$a,$color);
}
echo " where " . $a ." and ". $i;
echo "<br />";
}
}
return $img;
}
}
$abc = new zweifarben();
Danke für Antworten
Gruss Binz