Как рисовать вогнутый прямоугольник угла в WPF?Как рисовать прямоугольник прямоугольника в WPF?
ответ
do you mean a rectangle with concave corners?, ie:
____________________
| |
__| |__
| |
| |
| |
|__ __|
| |
|____________________|
Учитывая прямоугольник размерности w x h
с угловым радиусом r
Есть 4 угла:
A : 0,0
B : w,0
C : w,h
D : 0,h
Существует неявное минимальный размер
w = 2r
h = 2r
Там 4 центров окружностей, A,B,C,D
И есть, таким образом, сетка краевых точек:
(0,0)--(0+r,0)---(w-r,0)---(w,0)
| |
(0,0+r) (w,0+r)
| |
| |
(0,h-r) (w,h-r)
| |
(0,h)--(0+r,h)---(w-r,h)---(w,h)
Тогда его просто случай вычисления дуги из одной точки в другую.
Это можно создать с помощью операции «Путь» в разделе «Выражение» («Меню - Объект-> Путь»). Я создал Путь, вычитая четыре эллипса против прямоугольника.
Path.Data для вогнутого прямоугольника приведен ниже, логика @Kent Fredric в предыдущем ответе будет полезна для ее реализации.
alt text http://img87.imageshack.us/img87/4539/concaverectny1.jpg
M17.200002,0L120.4,0 120.4,2.3066998E-06C120.4,6.7378696,128.10079,12.200001,137.60001,12.200001L137.60001,85.400003C128.10077,85.400003,120.4,90.862138,120.4,97.6L17.200002,97.6C17.200002,90.862151,9.4993697,85.400003,0,85.400003L0,12.199999C9.4993663,12.200015,17.200002,6.7378725,17.200002,0z
Смотрите блога пост здесь http://jobijoy.blogspot.com/2008/11/concave-cornered-rectangle-blend-tip.html
Другой способ, чтобы получить это, чтобы создать WPF пользовательской фигуры, как сильфона
public class ConcaveRectangle:System.Windows.Shapes.Shape
Я должен отметить, что, если это вогнутые, четыре стороны не являются одинаковыми и прямыми; таким образом, это не прямоугольник. Но я отвлекся.
- 1. Рисовать прямоугольник над изображением
- 2. Как правильно рисовать прямоугольник прямоугольника на рабочем столе
- 3. Рисовать прямоугольник со звездочками
- 4. Как рисовать прозрачный прямоугольник?
- 5. как рисовать прямоугольник Matlab?
- 6. Рисовать прямоугольник в Java
- 7. Рисовать прямоугольник в ViewPager
- 8. Рисовать многослойный прямоугольник во фрагменте
- 9. C++ Прямоугольник прямоугольника Столкновение
- 10. Перетащите прямоугольник прямоугольника в C#
- 11. Рисовать поворот прямоугольника
- 12. CALayer рисовать вне прямоугольника
- 13. Рисовать прямоугольник на карте google
- 14. Как рисовать прямоугольник выбора на QScrollArea?
- 15. Как рисовать прямоугольник на PictureBox?
- 16. Как рисовать прямоугольник программным способом
- 17. Рисовать прямоугольник из координат
- 18. Рисовать прямоугольник над ImageVIew
- 19. рисовать только угол прямоугольника
- 20. Рисовать прямоугольник в flash actionscript
- 21. WPF Progressbar Прямоугольник
- 22. Вернуть прямоугольник из пересечения прямоугольника?
- 23. как рисовать прямоугольник на предварительном просмотре камеры в android
- 24. рисовать изображение без использования метода «текстурирования прямоугольника»
- 25. Как рисовать многоугольник/прямоугольник в TChart
- 26. Как рисовать прямоугольник внутри панели в C#?
- 27. Как рисовать прямоугольник в gwt-openlayers?
- 28. Как рисовать прямоугольник на экране в SDL?
- 29. Как рисовать прямоугольник прямоугольной полосы в DirectX?
- 30. Рисовать прямоугольник как Progressbar в JFrame
Спасибо, Я задал этот вопрос на другом форуме и получил то же решение, используя функцию Path в WPF. – 2008-11-20 19:53:56