社区
C#
帖子详情
WPF 怎么获取 鼠标坐标的颜色RGB
jy12345678
2011-09-25 11:25:12
c# WPF 怎么获取 鼠标坐标的颜色RGB
找了半年了都找不到 请高手帮忙 写下代码
...全文
780
12
打赏
收藏
WPF 怎么获取 鼠标坐标的颜色RGB
c# WPF 怎么获取 鼠标坐标的颜色RGB 找了半年了都找不到 请高手帮忙 写下代码
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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]
至于吗,哈哈
实时
获取
图片中点击点
颜色
值和
坐标
的项目
该项目聚焦计算机视觉和图像处理,介绍通过用户界面点击图片
获取
RGB
颜色
值与
坐标
。涉及图像处理基础、GUI编程与事件监听、
鼠标
点击
获取
颜色
值和
坐标
方法,讲解PIL和OpenCV库使用,还阐述
鼠标
事件处理回调函数实现与优化,提升应用交互性和用户体验。
在canvas中根据
鼠标
的位置,
获取
当前点的
RGB
值
本文介绍如何在canvas中通过
鼠标
位置
获取
像素
RGB
值,并展示一个调色板示例,其中包括两个canvas的应用,一个用于显示调色板,另一个用于显示选中的
颜色
。
基于对话框显示,动态显示jpg.bmp等图片,并
获取
鼠标
移动的
坐标
值及
rgb
值
该博客介绍如何在对话框中动态加载和显示jpg图片,并实现
鼠标
移动时显示当前
坐标
点的
RGB
值。通过CFileDialog选择图片,利用CImage类加载图片到Picture Control控件,同时在OnMouseMove事件中
获取
鼠标
位置的像素
颜色
。
利用Opencv3.4.15 vs2017实现
鼠标
获取
图像像素值
坐标
、
RGB
值、HSV值
该博客介绍了如何使用OpenCV库通过
鼠标
事件
获取
图像的像素
坐标
、HSV值和
RGB
值。程序包含三个回调函数,分别用于处理三种不同的
鼠标
点击事件。当用户在图像上左键点击时,程序会在指定位置显示像素的
坐标
或
颜色
值,并在点击位置画出一个圆圈。用户可以通过右键点击关闭所有窗口。
C#
获取
鼠标
光标处屏幕
颜色
本文介绍了一个在Windows环境下用C#
获取
鼠标
光标所在位置屏幕
颜色
的类,该方法未在其他平台进行测试。参考链接提供了
获取
光标相对屏幕位置的方法。
C#
111,129
社区成员
642,535
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章