gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 21:57:21 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)。
您可以通过将边框权重设置为例如来验证这是否是真正的原因。 4 像素;您会发现,如果您不想剪辑它,则需要一个 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