RoundRect
元素只能将相同的曲线应用于所有边。您可以使用带有自定义 Shape
元素的 Path
元素。
以下是您的示例中的样子:
<v:shape xmlns:v="urn:schemas-microsoft-com:vml" style="height:225px;v-text-anchor:middle;width:600px;" fill="true" stroke="true" strokecolor="#fffefe" coordorigin="0 0" coordsize="600 225">
<v:fill type="frame" src="https://i.imgur.com/PkQE6Em.png" color="#F8F7F1" />
<v:path v="m 45,0 l 600,0 l 600,225 l 45,225 qx 0,180 l 0,45 qy 45,0 x" />
</v:shape>
在此示例中,我在左上角和左下角设置了 45px 圆角。为了做到这一点,我首先将
coordsize
属性定义为与 VML 形状相同的大小。这将使在 v
属性中定义形状的实际路径变得更容易。
以下是此
v
属性中的值的工作原理:
m 45,0
:从45,0
点开始绘制形状。l 600,0
:画一条线到点600,0
(右上角)。l 600,225
:画一条线到点600,225
(右下角)。l 45,225
:画一条线到点45,225
(就在左下圆角开始之前)。qx 0,180
:将左下方的圆弧绘制到点0,180
。l 0,45
:画一条直线直到点0,45
。qy 45,0
:将左上角的弧线绘制到点0,45
。x
:关闭形状。如果要调整半径,可以将
45
值更改为您想要的值,将 180
值更改为形状高度与半径之间的差值。 (这里是225 - 45
。)