当前位置 : 主页 > 编程语言 > c语言 >

c#中怎样取得某坐标点的颜色

来源:互联网 收集:自由互联 发布时间:2021-06-25
// x,y 分别为x轴,y轴坐标 返回System.Drawing.Color 可以直接显示public System.Drawing.Color GetPixelColor(int x, int y){IntPtr hdc = GetDC(IntPtr.Zero);uint pixel = GetPixel(hdc, x, y);ReleaseDC(IntPtr.Zero, hdc);Color color
// x,y 分别为x轴,y轴坐标   返回System.Drawing.Color 可以直接显示

public System.Drawing.Color GetPixelColor(int x, int y)
{
IntPtr hdc = GetDC(IntPtr.Zero);
uint pixel = GetPixel(hdc, x, y);
ReleaseDC(IntPtr.Zero, hdc);
Color color = Color.FromArgb((int)(pixel & 0x000000FF),
(int)(pixel & 0x0000FF00) >> 8,
(int)(pixel & 0x00FF0000) >> 16);
return color;
}

//定义一个定时器   获取当前坐标上的像素点颜色
private void timer_Tick(object sender, EventArgs e)
{
textBox1.Text = GetPixelColor(Cursor.Position.X, Cursor.Position.Y).R.ToString() + " " + GetPixelColor(Cursor.Position.X, Cursor.Position.Y).G.ToString() + " " + GetPixelColor(Cursor.Position.X, Cursor.Position.Y).B.ToString();
}
网友评论