如何在 wpf 中获取某个控制点的颜色

本文关键字:控制 颜色 获取 wpf | 更新日期: 2023-09-27 18:30:34

有一个以 png 为背景的控件。它可能会被鼠标点击,我想做 sth。根据点击点的颜色。如何获得颜色?谢谢。

如何在 wpf 中获取某个控制点的颜色

好吧,从鼠标单击事件参数 e 中,您可以获得具有单击精确坐标的点:

Point clickPoint = e.GetPosition(cntrlWithPNGasBackground);

据推测,您可以使用以下内容在该位置抓取图像的颜色:

System.Drawing.Image _image = cntrlWithPNGasBackground.BackgroundImage;
Bitmap _bitmap = new Bitmap(image);
Color _color = _bitmap.GetPixel(Point.x, Point.y);

不是最有效的事情,但它可以完成工作。

看:

  • Bitmap.GetPixel
  • System.Drawing.Bitmap
  • System.Drawing.Image
  • MouseEventArgs.GetPosition
  • System.Windows.Point