Как определить по координатам цвет пикселя C#

Здравствуйте пользователи nookery.ru в этой статье я приведу пример кода. Который позволить вам использовать метод для определения по координатам цвет пикселя. Вам будет достаточно скопировать метод, ввести координаты пикселя, и использовать переменные r g b в своем приложении.

               [DllImport("user32.dll")]
		public static extern IntPtr GetDesktopWindow();
		[DllImport("gdi32.dll")]
		public static extern uint GetPixel(IntPtr hDC, int nXPos, int nYPos);


		[DllImport("user32.dll")]
		public static extern IntPtr GetDC(IntPtr hwnd);

		[DllImport("user32.dll")]
		public static extern int ReleaseDC(IntPtr hwnd, IntPtr hDC);


		int r;
		int g;
		int b;


		public void getColor(int x, int y)
		{
			

			IntPtr hwnd = GetDesktopWindow();

			IntPtr hDC = GetDC(hwnd);//Ссылка на окно, в котором будет выполнен поиск пикселя
			uint pixel = GetPixel(hDC, x, y);
			ReleaseDC(IntPtr.Zero, hDC);

			r = (byte)(pixel & 0x000000FF);//получим составляющие цвета
			g = (byte)((pixel & 0x0000FF00) >> 8);
	                b = (byte)((pixel & 0x00FF0000) >> 16);
			
		}

 

Обновлено: 23.04.2017 — 09:30

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.