Pozdrav svima !!!!
Moja aplikacija koristi GetCursorPos funkciju da bi došao do koordinata piksela gde se nalazi miš na ekranu. Zatim se uz pomoć ove funkcije
uzima boja tog piksela. Sve ovo lepo radi na WinXp, Win7 i Win8 64b. Na Win32b ova funkcija radi potpuno pogrešno. Prikazuje da se npr. grupa piksela iste boje nalazi par centimetara dole i desno ???? Ne mogu pronaći razlog ovakvog ponašanja aplikacije.
Unapred hvala....
Moja aplikacija koristi GetCursorPos funkciju da bi došao do koordinata piksela gde se nalazi miš na ekranu. Zatim se uz pomoć ove funkcije
Code:
private static Color GetColorAt(Point location)
{
using (Graphics gdest = Graphics.FromImage(screenPixel))
{
using (Graphics gsrc = Graphics.FromHwnd(IntPtr.Zero))
{
IntPtr hSrcDC = gsrc.GetHdc();
IntPtr hDC = gdest.GetHdc();
int retval = BitBlt(hDC, 0, 0, 1, 1, hSrcDC, location.X, location.Y, (int)CopyPixelOperation.SourceCopy);
gdest.ReleaseHdc();
gsrc.ReleaseHdc();
}
}
return screenPixel.GetPixel(0, 0);
}
private static Color GetColorAt(Point location)
{
using (Graphics gdest = Graphics.FromImage(screenPixel))
{
using (Graphics gsrc = Graphics.FromHwnd(IntPtr.Zero))
{
IntPtr hSrcDC = gsrc.GetHdc();
IntPtr hDC = gdest.GetHdc();
int retval = BitBlt(hDC, 0, 0, 1, 1, hSrcDC, location.X, location.Y, (int)CopyPixelOperation.SourceCopy);
gdest.ReleaseHdc();
gsrc.ReleaseHdc();
}
}
return screenPixel.GetPixel(0, 0);
}
uzima boja tog piksela. Sve ovo lepo radi na WinXp, Win7 i Win8 64b. Na Win32b ova funkcija radi potpuno pogrešno. Prikazuje da se npr. grupa piksela iste boje nalazi par centimetara dole i desno ???? Ne mogu pronaći razlog ovakvog ponašanja aplikacije.
Unapred hvala....