如何在WPF中绘制凹角矩形?
答案 0 :(得分:3)
您可以通过表达式混合下的路径操作创建它(菜单 - 对象 - >路径操作)我通过对矩形减去四个椭圆来创建路径。
下面给出了凹面矩形的Path.Data,上一个答案中的@Kent Fredric逻辑将有助于实现一个。
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)
do you mean a rectangle with concave corners?, ie:
____________________
| |
__| |__
| |
| |
| |
|__ __|
| |
|____________________|
给定一个角度范围为w x h
的矩形r
有四个角落:
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)
然后它只是一个从一点到另一点计算弧的情况。
答案 2 :(得分:0)
我应该指出,如果它是凹的,那么四边不是相同和直的;因此它不是一个矩形。但我离题了。