Cara Mengesan Warna Piksel Skrin
Dalam soalan ini, pengguna mencari kaedah untuk menentukan warna piksel tertentu pada skrin mereka. Matlamat utama adalah untuk mencetuskan tindakan apabila warna tertentu dikesan.
Mencari Penyelesaian Cekap
Pendekatan paling berkesan melibatkan penggunaan fungsi GetColorAt untuk mendapatkan semula piksel warna pada lokasi tertentu. Tidak seperti beberapa kaedah lain, pendekatan ini adalah bebas daripada bilangan monitor yang disambungkan kepada sistem.
Berikut ialah coretan kod C# yang melaksanakan fungsi GetColorAt:
public 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); }
Menggunakan Maklumat Warna Piksel
Dengan fungsi GetColorAt, anda kini boleh membuat tinjauan pendapat khusus piksel pada skrin untuk warna yang diingini. Berikut ialah contoh tinjauan pendapat untuk piksel biru:
private void PollPixel(Point location) { while(true) { var c = GetColorAt(location); if (c.R == c.G && c.G < 64 && c.B > 128) { DoAction(); return; } Thread.Sleep() } }
Kod ini secara berterusan meninjau piksel di lokasi tertentu. Apabila piksel sepadan dengan kriteria biru, ia mencetuskan kaedah DoAction.
Kesimpulan
Menggunakan fungsi GetColorAt, anda boleh menentukan warna piksel skrin individu dengan cekap. Dengan keupayaan ini, anda boleh melaksanakan pelbagai pemprosesan imej atau tugas pengesanan skrin seperti yang diperlukan oleh aplikasi khusus anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesan Warna Piksel Skrin Tertentu Secara Pengaturcaraan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!