Jedes 2. Pixel ändern

danielm

Erfahrenes Mitglied
Hi,
kennt einer von euch ne Funktion die in einem Image von jedem 2. Pixel die Farbe ändert, also sowas wie z.B. mergepxcolor($image,$frequenz, $color1, $color2) ?!

mfg daniel
 
schreib ne funktion, sowas wie:
Code:
 $image = imagecreatefromjpeg("image.jpg");
 $farbe = imagecolorallocate($image,255,0,0);
 while( $x < imagesx($image){
  $x++;
  while( $y < imagesy($image){
   $y++;
    if( $z == 1 ){
 	$z = 0;
 	imagesetpixel($image, $x, $y, $farbe);
    }else{
 	 $z = 1;
    }
   }
 }

sowas müsste klappen. bin mir aber nicht 100% sicher! probiers mal aus.

mfg,
tiischa
 
Naja einfach in einer Schleife +2 zählen, bis $img_width erreicht ist, bzw $img_height z.B so vom Prinzip her:
ersteinmal die ganze Breite (1. Zeile sozusagen) durchlaufen (mit $y+2 oder so) und dann 1 per if() abfragen, ob das Ende erreicht ist, wenn ja $x+2 zählen. Immer so weiter, bis zum Ende.
Oder ++ zählen, dann aber nen if() wo per % ermittelt wird, ob das teilbar durch 2 ist. Ist aber sinnlos ;)
So würde ich das jetzt machen.

Weiß jetzt nicht, ob das vom supatiischa geht, 2 while Schleifen sind aber umständlich?
 
Da sieht man mal wieder wie wach ich war mit meiner tollen Idee ;)
natürlich kann man die ganze 'If-' in meinem code auch gleich vergessen ;/
*kopfgegenwand*
 
supatiischa hat gesagt.:
Da sieht man mal wieder wie wach ich war mit meiner tollen Idee ;)
natürlich kann man die ganze 'If-' in meinem code auch gleich vergessen ;/
*kopfgegenwand*
ich hab mir den auch nicht wirklich angeschaut :D

Also mein Prinzip müsste klappen, ich könnte jetzt schnell einen Code hinzaubern, aber den dann nicht testen, weil ich nicht @Home bin. Und evtl. falsche Codes will ich nicht schreiben :D
So in etwa aber (soll nicht korrekt sein, wenn das so ist, ist das zufall. ist nur hingekritzelz - soll auch nicht übersichtlich sein):
for ($x = 0, $y = 0 ; $i < $img_width; $xi+2) {
if ($x => $img_with) { $y+2; }
imagesetpixel($image, $x, $y, $farbe);
if ($y => $img_height) { break; }
}
 
Zurück