您现在的位置: 爱51代码网 >> 范文 >> 文章正文
WPF如何获取鼠标坐标的颜色RGB

WPF如何获取鼠标坐标的颜色RGB

c# WPF 怎么获取 鼠标坐标的颜色RGB
找了半年了都找不到 

GDI+的CopyScreen就可以了.

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));
        }

      
    }
}

GetPixcelColor要求传入的参数是屏幕坐标,要转换下:
   private void Container_MouseMove(object sender, MouseEventArgs e)
  {
  var pos = e.GetPosition(null);
  pos = this.PointToScreen(pos);
  rectangle1.Fill = GetPixelColor(pos);
  }

  • 上一篇文章:

  • 下一篇文章: 没有了
  • 最新文章 热点文章 相关文章
    java如何判断一个字符串里的数字
    随机找出24个不一样的字,在把一
    java怎么实现html转为pdf
    lotus数据列表文档个数如何实时统
    lotus代理中LS如何将字符串保存到
    在lotus BS系统里怎样方便实现统
    undefined reference timer_crea
    linux文件/usr/lib破坏了,还原后
    linux上运行system函数时,print
    Failed to open eth0
    java如何判断一个字符串里的数字
    undefined reference timer_crea
    Failed to open eth0
    C/C++洗牌算法源代码
    ZOJ 3700 Ever Dream 文章中单词
    TortoiseGit和msysGit安装及使用
    sharepoint 2010 获取用户信息Us
    设计包含max函数的队列
    mysql主从同步延迟方案解决的学习
    青岛科学六年级下册教材分析
    WPF下System.Windows.Ink的手
    ViewBag.AllowRemember ?? t
    c#serialport IO异常,请问是
    System.Collections.Generic
    如何用 Webbrowser 控件来点
    C#中如何动态提升权限
    LINK : fatal error LNK1123
    WTL中CHeaderCtrl列表头发生
    如何打开VS2010性能分析向导
    MFC窗体程序结束释放内存
     



    设为首页 | 加入收藏 | 网站地图 | 友情链接 |