是否有一種自動方式來獲得橢圓筆畫的所有點,沒有填充點?橢圓幾何約束點
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