【问题标题】:Equality of GDI+ RegionsGDI+ 区域的平等
【发布时间】:2014-01-27 11:59:31
【问题描述】:

为什么以下代码中的断言失败?为什么区域 ab 不相等?

  Region a = new Region(new RectangleF(0.0f, 0.0f, 10.0f, 10.0f));
  Region b = new Region();
  b.MakeEmpty();
  b.Union(new RectangleF(0.0f, 0.0f, 10.0f, 10.0f));
  Debug.Assert(a == b, "Regions not equal");

【问题讨论】:

    标签: c# .net graphics gdi+ gdi


    【解决方案1】:

    据我所见,System.Drawing.Region 不会覆盖ObjectEquals() 的实现。因此,您的== 调用使用的是ReferenceEquals,只是告诉您ab 不是同一个对象。

    尝试改用System.Drawing.Region.Equals(Region, Graphics) 重载,在您希望比较两个区域的上下文中传入Graphics 对象。

    【讨论】:

      猜你喜欢
      • 2018-04-28
      • 2013-02-06
      • 2015-03-09
      • 2012-06-20
      • 2010-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-05
      相关资源
      最近更新 更多