Потребовалась програма для поиска пикселя,она работает,код частично скопипастил,не могу разобратся и сделать обратное условие, прошу помощи.
ах да,обратное условие таково. Если пиксель данного цвета не найден,то искать пиксель с такими парраметрами:
Red: 42
Green: 20
Blue: 0
Красным выделено то,что непонятно.
$im = imagegrabscreen();
imagejpeg($im, "pixel.jpg");
imagedestroy($im);
$image=imagecreatefromjpeg('pixel.jpg');
$imageSize=getimagesize('pixel.jpg');
$sr=54;///
$sg=97;//цвет чёрный
$sb=153;///
$dif=2;//погрешность оттенка
for($x=0;$x<$imageSize[0];$x++){
for($y=0;$y<$imageSize[1];$y++){
$color=imagecolorat($image,$x,$y);
$r=($color>>16) & 0xFF;
$g=($color>>8) & 0xFF;
$b=$color & 0xFF;
if($sr+$dif>=$r && $sr-$dif<=$r && $sg+$dif>=$g && $sg-$dif<=$g && $sb+$dif>=$b && $sb-$dif<=$b){
c("edit1")->text = "$x";
c("edit2")->text = "$y";
}
}
}
$w = $SCREEN->width;
$h = $SCREEN->height;
$kx = 65535 / $w;
$ky = 65535 / $h;
$x = IntVal(IntVal(c("edit1")->text) * $kx);
$y = IntVal(IntVal(c("edit2")->text) * $ky);
delay(100);
If(c("combobox1")->itemIndex)
{
$k1 = MOUSEEVENTF_LEFTDOWN;
$k2 = MOUSEEVENTF_LEFTUP;
}
Else
{
$k1 = MOUSEEVENTF_RIGHTDOWN;
$k2 = MOUSEEVENTF_RIGHTUP;
}
Mouse_Event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE, $x, $y, 0, 0);
Mouse_Event($k1, $x, $y, 0, 0);
Mouse_Event($k2, $x, $y, 0, 0);
ах да,обратное условие таково. Если пиксель данного цвета не найден,то искать пиксель с такими парраметрами:
Red: 42
Green: 20
Blue: 0
Красным выделено то,что непонятно.
$im = imagegrabscreen();
imagejpeg($im, "pixel.jpg");
imagedestroy($im);
$image=imagecreatefromjpeg('pixel.jpg');
$imageSize=getimagesize('pixel.jpg');
$sr=54;///
$sg=97;//цвет чёрный
$sb=153;///
$dif=2;//погрешность оттенка
for($x=0;$x<$imageSize[0];$x++){
for($y=0;$y<$imageSize[1];$y++){
$color=imagecolorat($image,$x,$y);
$r=($color>>16) & 0xFF;
$g=($color>>8) & 0xFF;
$b=$color & 0xFF;
if($sr+$dif>=$r && $sr-$dif<=$r && $sg+$dif>=$g && $sg-$dif<=$g && $sb+$dif>=$b && $sb-$dif<=$b){
c("edit1")->text = "$x";
c("edit2")->text = "$y";
}
}
}
$w = $SCREEN->width;
$h = $SCREEN->height;
$kx = 65535 / $w;
$ky = 65535 / $h;
$x = IntVal(IntVal(c("edit1")->text) * $kx);
$y = IntVal(IntVal(c("edit2")->text) * $ky);
delay(100);
If(c("combobox1")->itemIndex)
{
$k1 = MOUSEEVENTF_LEFTDOWN;
$k2 = MOUSEEVENTF_LEFTUP;
}
Else
{
$k1 = MOUSEEVENTF_RIGHTDOWN;
$k2 = MOUSEEVENTF_RIGHTUP;
}
Mouse_Event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE, $x, $y, 0, 0);
Mouse_Event($k1, $x, $y, 0, 0);
Mouse_Event($k2, $x, $y, 0, 0);