查找背景颜色System.Drawing.Bitmap

时间:2014-01-08 12:17:26

标签: c# graphics

我在位图中绘制了一个对象后,我想移动它,所以我需要再次以背景颜色绘制对象,然后再以适当的颜色绘制。假设这是正确的方法,我如何找出背景颜色实际是什么? 谢谢, 詹姆斯

2 个答案:

答案 0 :(得分:1)

绘制对象后,只能使用GetPixel获取颜色:

Bitmap.GetPixel(x,y)

为什么不清除整个位图并再次重写对象? 如果你的位图不是很大,你甚至不会注意到性能的任何差异。

答案 1 :(得分:1)

由于你可以控制画布并且你有一个“干净”的画布,你可以在绘制之前获得任何像素的颜色,这应该是你的背景颜色。

但请记住,在常规位图上没有背景颜色,只有一堆像素!因此,如果您的画布不清晰,或者如果您在绘制之前无法获得颜色,则必须进行假设。根据您的要求,有很多解决方案。我的建议是:

  • 您可以假设角落处的像素是您的背景颜色
  • 更常出现的颜色是背景颜色