社区
C#
帖子详情
WPF 怎么获取 鼠标坐标的颜色RGB
jy12345678
2011-09-25 11:25:12
c# WPF 怎么获取 鼠标坐标的颜色RGB
找了半年了都找不到 请高手帮忙 写下代码
...全文
683
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]
至于吗,哈哈
C# 图形绘制、可绘制Roil,绘制可调整Roi 7、可查看当前
鼠标
位置处的图像
坐标
和像素点
RGB
值
1、输入接口多,支持的输入类型有Bitmap(图像),byte[](图像数据), Intptr(图像数据的地址)等。 2、可直接在线程里执行图像显示,不需要使用委托。 3、可以对图像进行放大缩小平移。 4、可用预览图调节图像显示区域。 5、可轻松进行图形绘制。 6、可绘制Roil,绘制可调整Roi。 7、可查看当前
鼠标
位置处的图像
坐标
和像素点
RGB
值。
C# 图片点
坐标
对应LAB值和
RGB
值
C# 选择一张图片,
鼠标
点击后出现此点
坐标
对应LAB值和
RGB
值,利用emgucv矩阵实现,简单易懂
VS编程,
WPF
中,
获取
鼠标
相对于当前屏幕
坐标
的一种方法
简单的做法参见:https://www.cnblogs.com/tommy-huang/p/5282966.html 1、
获取
控件在Window中的
坐标
: Window window = Window.GetWindow(canvas); Point point = canvas.TransformToAncestor(window).Transform(new Point(0...
利用Opencv3.4.15 vs2017实现
鼠标
获取
图像像素值
坐标
、
RGB
值、HSV值
//功能:实现
鼠标
左键点击可以返回图像像素值
坐标
、HSV值、
RGB
值 #include<opencv2/opencv.hpp> #include<iostream> #include<stdio.h> using namespace cv; using namespace std; //设置回调函数1返回
坐标
值 void get_coordinate(int event,int x,int y,int flags,void*param) { Mat process_
C#_动态
获取
鼠标
位置的
颜色
在上一篇,C#_动态
获取
鼠标
坐标
,中已经很轻松的
获取
到了
鼠标
移动时的动态
坐标
了。那么,像屏幕取色工具那样,该如何
获取
该
坐标
,该点的
颜色
值呢,这里还是利用原生态的API方法来实现。 API声明: /// <summary> ///
获取
指定窗口的设备场景 /// </summary> /// <param name="hwnd">将
获取
其设备场景的窗...
C#
110,570
社区成员
642,568
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章