是否有一种自动方式来获得椭圆笔画的所有点,没有填充点?椭圆几何约束点
Q
椭圆几何约束点
0
A
回答
0
通过使用Reflector,我发现EllipseGeometry类中有一个GetPointList()方法,不幸的是它是私有的。也许你可以通过反射来调用它,但这听起来像一个非常糟糕的破解...我会看看如果我找到另一种方式...
5
在WPF中几何中没有实际的“点” - 它是无限的光滑。这可以通过放大椭圆来看出。您可以进行1,000,000倍变焦,并且您仍然可以看到曲率和没有点。
由于WPF形状不是由点组成,所以您的问题可以通过多种方式进行互动。你可能会寻找任何这些:
- 近似椭圆的边界(折线近似)
- 一组由椭圆覆盖的像素的包括填充
- 一组点的列表由椭圆
这里的边缘覆盖的像素在每种情况下的解决方案:
如果你正在寻找的椭圆离散点(即的近似值。看起来像一个椭圆形虚线版),使用此代码:如果你正在寻找受影响的像素
,你需要RenderTargetBitmap:
RenderTargetBitmap rtb =
new RenderTargetBitmap(width, height, 96, 96, PixelFormat.Gray8);
rtb.Render(ellipse);
byte[] pixels = new byte[width*height];
rtb.CopyPixels(pixels, width, 0);
任何非零值以像素为单位[]部分被椭圆覆盖。如果椭圆有填充,这将包括椭圆内部的点。
如果你需要得到仅沿边缘的像素,但你的椭圆填充,反之亦然,你可以创建一个新的形状传递给RenderTargetBitmap:
var newEllipse = new Path
{
Data = ellipse.DefiningGeometry,
Stroke = Brushes.Black,
};
RenderTargetBitmap rtb = ...
[same as before]
+0
哇,感谢细节! – japf 2009-10-30 09:53:22
相关问题
- 1. 简单弹弓的AS3椭圆约束
- 2. 椭圆几何自定义形状
- 3. 椭圆vs圆
- 4. 点上倾斜的椭圆
- 5. 以椭圆轨道计算椭圆轨道上的点
- 6. android多行文本和椭圆结束
- 7. 非迭代解决方案的交集2椭圆,在约束条件下
- 8. 如何创建椭圆形几何形状
- 9. 如何结合几种类型约束?
- 10. 如何用圆圈标记椭圆点标记
- 11. 椭圆与CombinedGeometry
- 12. UITextField椭圆
- 13. 椭圆NSTextField?
- 14. 透明椭圆
- 15. 椭圆验证
- 16. 椭圆有孔
- 17. Pyqtgraph:如何绘制椭圆或圆形
- 18. 椭圆曲线上的点的数量
- 19. 沿着椭圆移动一个点
- 20. Java中的中点椭圆算法
- 21. 查找两个椭圆的交点(Python)
- 22. 通过三点的椭圆方程?
- 23. 从分散点评估/拟合椭圆
- 24. 根据其焦点绘制椭圆
- 25. PHP:检查椭圆内的点/坐标
- 26. 是否有中点椭圆算法?
- 27. 如何获得EditText椭圆?
- 28. 椭圆弧长度
- 29. 椭圆曲线Java
- 30. 光栅化椭圆
它足以让我的POC – 2009-10-29 16:42:40