社区
C#
帖子详情
WPF 怎么获取 鼠标坐标的颜色RGB
jy12345678
2011-09-25 11:25:12
c# WPF 怎么获取 鼠标坐标的颜色RGB
找了半年了都找不到 请高手帮忙 写下代码
...全文
745
12
打赏
收藏
WPF 怎么获取 鼠标坐标的颜色RGB
c# WPF 怎么获取 鼠标坐标的颜色RGB 找了半年了都找不到 请高手帮忙 写下代码
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhaolin000
2013-08-16
打赏
举报
回复
谢谢 我调好了
jshi123
2013-08-16
打赏
举报
回复
可以用的。不过上面这段代码在64位下是错的,应该是: [DllImport("gdi32")] private static extern int GetPixel(IntPtr hdc, int nXPos,int nYPos); [DllImport("user32")] private static extern IntPtr GetWindowDC(IntPtr hwnd); [DllImport("user32")] private static extern int ReleaseDC(IntPtr hWnd, IntPtr hDC);
zhaolin000
2013-08-16
打赏
举报
回复
上面这段代码我试了 就是不行 WPF不支持GetPixel吧
zhaolin000
2013-08-16
打赏
举报
回复
能发一份用WPF获取鼠标坐标处颜色的代码吗,我一直弄不好935440883@qq.com谢谢
_lee_chong
2011-09-27
打赏
举报
回复
mark
jy12345678
2011-09-27
打赏
举报
回复
非常感谢!!!!!!!
jshi123
2011-09-26
打赏
举报
回复
GetPixcelColor要求传入的参数是屏幕坐标,要转换下:
private void Container_MouseMove(object sender, MouseEventArgs e)
{
var pos = e.GetPosition(null);
pos = this.PointToScreen(pos);
rectangle1.Fill = GetPixelColor(pos);
}
jy12345678
2011-09-26
打赏
举报
回复
namespace CS
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
[DllImport("gdi32")]
private static extern int GetPixel(int hdc, int nXPos,int nYPos);
[DllImport("user32")]
private static extern int GetWindowDC(int hwnd);
[DllImport("user32")]
private static extern int ReleaseDC(int hWnd, int hDC);
private SolidColorBrush GetPixelColor(Point point)
{
int lDC = GetWindowDC( 0 );
int intColor = GetPixel( lDC, (int)point.X, (int)point.Y );
ReleaseDC( 0, lDC );
byte b = (byte)( ( intColor >> 0x10 ) & 0xffL );
byte g = (byte)( ( intColor >> 8 ) & 0xffL );
byte r = (byte)( intColor & 0xffL );
Color color = Color.FromRgb( r, g, b );
textBox1.Text =b.ToString()+" "+g.ToString()+" "+r.ToString();
return new SolidColorBrush(color);
}
public MainWindow()
{
InitializeComponent();
}
public byte b;
public static double MousePositionX
{ get; set; }
public static double MousePositionY
{
get;
set;
}
private void Container_MouseMove(object sender, MouseEventArgs e)
{
rectangle1.Fill = GetPixelColor(e.GetPosition(null));
}
}
}
这是我修改过1楼你给的连接里面的代码~~ 测试的时候获取的颜色是哪的? 感觉颜色不对!!
ChrisAK
2011-09-26
打赏
举报
回复
[Quote=引用 1 楼 jshi123 的回复:]
用P/Invoke调用GDI的GetPixel方法
参考http://sharpinsights.wordpress.com/2007/09/21/pixel-color-under-mouse/
引用楼主 jy12345678 的回复:
找了半年了都找不到
至于吗,哈哈
[/Quote]用不着P/Invoke...GDI+的CopyScreen就可以了.
jy12345678
2011-09-26
打赏
举报
回复
[Quote=引用 1 楼 jshi123 的回复:]
用P/Invoke调用GDI的GetPixel方法
[/Quote]
最好给点代码 加点备注 我是新手
想不到WPF 获取 个坐标的颜色RGB 数据都那么复杂~~
P/Invoke 我都没开始接触到。。。看你给的连接 里面的代码是 VB 还是C++的?
jshi123
2011-09-26
打赏
举报
回复
用P/Invoke调用GDI的GetPixel方法
参考
http://sharpinsights.wordpress.com/2007/09/21/pixel-color-under-mouse/
[Quote=引用楼主 jy12345678 的回复:]
找了半年了都找不到
[/Quote]
至于吗,哈哈
C#
获取
鼠标
坐标
(图像操作)
在C#编程中,
获取
鼠标
坐标
是常见的任务,特别是在开发图形用户界面(GUI)应用程序时。...在不同的框架和环境中,如Windows Forms、
WPF
或Unity,
获取
和处理
鼠标
坐标
的方法有所不同,但核心概念保持一致。
C# 图形绘制、可绘制Roil,绘制可调整Roi 7、可查看当前
鼠标
位置处的图像
坐标
和像素点
RGB
值
1、输入接口多,支持的输入类型有Bitmap(图像),byte[](图像数据), Intptr(图像数据的地址)等。 2、可直接在线程里执行图像显示,不需要使用委托。... 7、可查看当前
鼠标
位置处的图像
坐标
和像素点
RGB
值。
C# 图片点
坐标
对应LAB值和
RGB
值
3. 创建
鼠标
事件处理程序,当
鼠标
点击时
获取
坐标
并转换为Lab和
RGB
值: ```csharp private void pictureBox_Click(object sender, MouseEventArgs e) { Point clickPoint = e.Location; MCvScalar labValue = image...
取
鼠标
点击组件
坐标
的
颜色
值
相反,这种功能可以实时从应用程序的可视元素中
获取
颜色
,这对于定制化和主题修改非常有用。例如,用户可能想要更改软件按钮在特定状态下的背景色,通过这种取色机制,他们可以精确地
获取
并应用所选
颜色
。此外,通过...
图片
颜色
colorpicker
3. **像素
颜色
提取**:使用图像处理库(如.NET Framework的`System.Drawing`命名空间或第三方库如AForge.NET)从指定
坐标
获取
像素的
RGB
值。 4. **
颜色
显示**:将
获取
的
RGB
值展示给用户,可以是通过
颜色
滑块、
颜色
轮...
C#
111,112
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章