gpt4 book ai didi

actionscript-3 - 为什么在 Flex 4 中这个笔画元素没有出现在这个梯形周围?

转载 作者:行者123 更新时间:2023-12-02 04:58:32 25 4
gpt4 key购买 nike

对于 Flex 4 中的梯形类采用以下代码:

<?xml version="1.0" encoding="utf-8"?>
<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" width="35" height="140">
<s:Path data="m 0 34
l 35 -34
v 140
l -35 -34">
<s:stroke>
<s:SolidColorStroke weight="1" color="0x000000"/>
</s:stroke>
<s:fill>
<s:SolidColor color="0xCCCCCC"/>
</s:fill>
</s:Path>
</s:Group>

这会产生以下图像:

enter image description here

我可以看到顶部和底部对角线边缘周围的笔划元素,但看不到左侧和右侧垂直边缘的笔划元素。抱歉,我对在 Flex 中制作这样的自定义形状还很陌生。这里有什么不同?谢谢!

编辑:

我还没有时间查看其中一条评论。但是,我进行了一些实验:

1:将数据更改为:

"m 1 34
l 33 -34
v 140
l -33 -34"

产生了这个结果:

enter image description here

2:将数据更改为:

"m 1 34
l 33 -34
v 140
l -20 -34"

产生了这个结果:

enter image description here

在这两种情况下,右边缘都领先并出现,但左边缘没有出现。

编辑:

可能值得一提的是,即使在 Flash Builder 4.6 的“设计器”选项卡中,左边缘也不见了。

最佳答案

假设容器组正在裁剪其内容,@Kodiaks 的回答是部分正确的。然而,宽度应该是 36 的原因并不是他所描述的,而是你必须考虑笔画宽度的事实。
笔画的中心位于形状的实际边界上,因此 1px 的边界将绘制在形状内部 0.5px 和外部 0.5px 处。在这种特殊情况下,宽度因此变为 36px (35 + 2*0.5)。
您可以通过将边框粗细设置为例如来验证这是真正的原因。 4px;如果不想剪裁,您会发现需要一个 39px 的容器。

此外,如果您不想在左侧剪裁笔划,则必须将形状绘制得更靠右(确切地说是笔划粗细的一半)。

然后还有一个小错误:您没有关闭形状,导致无法绘制左侧边框。只需在 data 的末尾添加一个 Z,形状就会闭合。

所以这是边框粗细为“4”的形状的最终结果:

<s:Group width="39" height="140">
<s:Path data="m 2 34
l 35 -32
v 140
l -35 -34 z">
<s:stroke>
<s:SolidColorStroke weight="4" color="0x000000" />
</s:stroke>
<s:fill>
<s:SolidColor color="0xCCCCCC"/>
</s:fill>
</s:Path>
</s:Group>

注意:如你所见,我还对高度做了一些调整;否则边角也会被剪掉。

关于actionscript-3 - 为什么在 Flex 4 中这个笔画元素没有出现在这个梯形周围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17529225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com