using System.Drawing; using System.Runtime.InteropServices; using System.Windows.Forms; [DllImport ( "user32.dll" )] static extern IntPtr GetDC( IntPtr hWnd ); [DllImport ( "user32.dll" )] static extern int ReleaseDC( IntPtr hWnd, IntPtr hDC ); [DllImport ( "gdi32.dll" )] static extern int GetPixel( IntPtr hDC, int x, int y ); [DllImport ( "gdi32.dll" )] static extern int SetPixel( IntPtr hDC, int x, int y, int color ); static public Color GetPixel( Control control, int x, int y ) { Color color = Color .Empty; if (control != null ) { IntPtr hDC = GetDC( control.Handle ); int colorRef = GetPixel( hDC, x, y ); color = Color .FromArgb( (int )(colorRef & 0x000000FF), (int )(colorRef & 0x0000FF00) >> 8, (int )(colorRef & 0x00FF0000) >> 16 ); ReleaseDC( control.Handle, hDC ); } return color; } static
C# GetPixel and SetPixel
最新推荐文章于 2023-03-31 10:18:38 发布