spark.primitives.supportClassesStrokedElement StrokedElement 类是所有具有笔触的图形元素的基类,这些元素包括 Line、Ellipse、Path 和 Rect。spark.primitives.supportClasses:GraphicElement StrokedElement 类是所有具有笔触的图形元素的基类,这些元素包括 Line、Ellipse、Path 和 Rect。 StrokedElement 构造函数。 构造函数。 beginDraw 为此元素设置绘制。g要绘制的图形元素。 为此元素设置绘制。这是在绘制过程中采取的三个步骤中的第一步。在这一步中,会应用笔触属性。 draw 绘制元素。g要绘制的图形元素。 绘制元素。这是在绘制过程中采取的三个步骤中的第二步。覆盖此方法以实现绘图。已在 beginDraw() 方法中设置笔触(和填充,如果有)。您的覆盖仅应包含对诸如 moveTo()curveTo()drawRect() 等绘制方法的调用。 endDraw 完成此元素的绘制。g要完成绘制的图形元素。 完成此元素的绘制。这是在绘制过程中采取的三个步骤中的最后一步。在这一步中,填充已关闭。 updateDisplayList 绘制元素和/或调整其内容的大小并定位该内容。unscaledWidth指定组件在组件坐标中的宽度(以像素为单位),而不考虑该组件的 scaleX 属性值。 unscaledHeight指定组件在组件坐标中的高度(以像素为单位),而不考虑该组件的 scaleY 属性值。 绘制元素和/或调整其内容的大小并定位该内容。此方法是一种高级方法,可在创建 GraphicElement 的子类时覆盖。

您无需直接调用此方法。使用 addElement() 方法将组件添加到 IGraphicElementContainer 容器(例如,组)时,以及调用元素的 invalidateDisplayList() 方法时,Flex 会调用 updateDisplayList() 方法。

您可以借助此方法使用针对元素的 displayObject(如 graphics.drawRect())上的一些方法以编程方式进行绘制。

stroke 此元素所用的笔触。 此元素所用的笔触。
GraphicElement 用于定义各个图形元素的基类。spark.core:IGraphicElementmx.core:IInvalidatingmx.core:ILayoutElementmx.core:IVisualElementmx.core:IMXMLObjectflash.events:EventDispatcher 用于定义各个图形元素的基类。图形元素的类型包括:
  • 形状
  • 文本
  • 栅格图像

定义图形元素时,可以为元素指定显式大小;即,不能像指定控件的大小时那样使用百分比来调整大小。

TBound 是在对象的父坐标空间中对象的边界。UBound 是在对象自己的坐标空间中对象的边界。

如果您在 MXML 中声明性地设置 transform.matrix,则它将覆盖任何转换属性(rotation、scaleX、scaleY、x 和 y)的值。如果您在 ActionScript 中设置 transform.matrix 或转换属性,则将使用最后一个值集。

canShareWithNext 如果此 IGraphicElement 是兼容的且可以与序列中下一个 IGraphicElement 共享显示对象,则返回 true。此元素与序列中的上一个元素兼容时返回 trueelementspark.core:IGraphicElement序列中在此元素之后的元素。 如果此 IGraphicElement 是兼容的且可以与序列中下一个 IGraphicElement 共享显示对象,则返回 truecanShareWithPrevious 如果此 IGraphicElement 是兼容的且可以与序列中上一个 IGraphicElement 共享显示对象,则返回 true。此元素与序列中的上一个元素兼容时返回 trueelementspark.core:IGraphicElement序列中在此元素之前的元素。 如果此 IGraphicElement 是兼容的且可以与序列中上一个 IGraphicElement 共享显示对象,则返回 true

在某些情况下,调用 setSharedDisplayObject() 方法时会将该元素本身传递到 IGraphicElementContainer。在这些情况下,不会调用此方法。

canSkipMeasurement 确定是否可以跳过对 measure() 方法的调用。measureSizes() 方法可以跳过对 measure() 方法的调用时,返回 true。例如,同时设置 explicitWidthexplicitHeight 属性时,它通常为 true。对于路径,当路径的界限未改变时,此为 true 确定是否可以跳过对 measure() 方法的调用。 commitProperties 处理在元素上设置的属性。 处理在元素上设置的属性。此方法是一种高级方法,可在创建子类时覆盖。

您无需直接调用此方法。当您使用 addElement() 方法向 IGraphicElementContainer 容器(例如,组)中添加元素时,或调用元素的 invalidateProperties() 方法时,Flex 会调用 commitProperties() 方法。应在调用 measure() 方法之前调用 commitProperties() 方法。这允许您设置 measure() 方法可能会用到的属性值。

某些元素具有可彼此交互的属性。通常,最好在启动时一次性处理所有这些属性以避免重复工作。

createDisplayObject 创建一个新 DisplayObject 以用于绘制此 IGraphicElement。创建的显示对象。。 创建一个新 DisplayObject 以用于绘制此 IGraphicElement。

随后对 displayObject 属性的 getter 的调用必须返回相同的显示对象。

在创建 DisplayObject 之后,父 IGraphicElementContainer 将沿着显示对象传递到序列中剩余的元素。

IGraphicElementContainer 确保只在需要时调用此方法。

如果该元素希望参与 DisplayObject 共享,则新的 DisplayObject 必须实现 IShareableDisplayObject。此接口供 IGraphicElementContainer 使用,用于管理图形元素序列的失效和重新绘制,开发人员通常不能直接使用该接口。

若要重新评估共享序列,请在 IGraphicElementContainer 上调用 invalidateGraphicElementSharing() 方法。

要强制 IGraphicElementContainer 从其显示列表删除元素的当前 DisplayObject,并重新计算显示对象共享,请调用 IGraphicElementContainer 上的 discardDisplayObject() 方法。

getBoundsXAtSize widthheightpostLayoutTransformtrue getBoundsYAtSize widthheightpostLayoutTransformtrue getLayoutBoundsHeight postLayoutTransformtrue getLayoutBoundsWidth postLayoutTransformtrue getLayoutBoundsX postLayoutTransformtrue getLayoutBoundsY postLayoutTransformtrue getLayoutMatrix3D getLayoutMatrix getMaxBoundsHeight postLayoutTransformtrue getMaxBoundsWidth postLayoutTransformtrue getMinBoundsHeight postLayoutTransformtrue getMinBoundsWidth postLayoutTransformtrue getPreferredBoundsHeight postLayoutTransformtrue getPreferredBoundsWidth postLayoutTransformtrue getStrokeExtents 返回元素界限每一侧上的笔触所占据的像素数。笔触范围矩形。矩形的 leftrighttopbottom 属性表示元素边框的各侧的笔触范围。 postLayoutTransformtrue如果为 true,则会在父坐标空间中计算笔触范围(在应用元素的转换之后)。 返回元素界限每一侧上的笔触所占据的像素数。 initialized 如果 GraphicElement 是使用 MXML 标签创建的,则由 MXML 编译器自动调用。document包含此 GraphicElement(未使用)的 MXML 文档。 id此 GraphicElement 的 MXML ID。 如果 GraphicElement 是使用 MXML 标签创建的,则由 MXML 编译器自动调用。如果通过 ActionScript 创建 GraphicElement,则必须手动设置 ID 属性。 invalidateDisplayList 调用此方法将导致在呈示显示列表前调用元素的 validateDisplayList() 方法。 调用此方法将导致在呈示显示列表前调用元素的 validateDisplayList() 方法。

子类应该在 updateDisplayList() 中覆盖和完成其工作。

invalidateDisplayObjectSharing 通知主机此元素已更改且需要更新其图层的实用程序方法。 通知主机此元素已更改且需要更新其图层的实用程序方法。 invalidateLayoutDirection invalidateParentSizeAndDisplayList 此对象影响其布局时(includeInLayout 为 true),使父代大小和显示列表失效的 Helper 方法。 此对象影响其布局时(includeInLayout 为 true),使父代大小和显示列表失效的 Helper 方法。 invalidateProperties 调用此方法将导致在呈示显示列表前调用元素的 validateProperties() 方法。 调用此方法将导致在呈示显示列表前调用元素的 validateProperties() 方法。

子类应该在 commitProperties() 中完成其工作。

invalidateSize 调用此方法将导致在呈示显示列表前调用元素的 validateSize() 方法。 调用此方法将导致在呈示显示列表前调用元素的 validateSize() 方法。

子类应该在 measure() 中覆盖和完成其测量。默认情况下,设置 explicitWidthexplicitHeight 时,将不会调用 measure()。若要覆盖此默认行为,子类应该覆盖 skipMeasure()

localToGlobal 将 Point 对象从对象的(局部)坐标转换为舞台(全局)坐标。具有相对于舞台的坐标的 Point 对象。 point使用 Point 类创建的点的名称或标识符,指定 x 和 y 坐标作为属性。 将 Point 对象从对象的(局部)坐标转换为舞台(全局)坐标。

此方法允许您转换任何给定的 x 和 y 坐标,将从相对于特定对象原点 (0,0) 的值(局部坐标)转换为相对于舞台原点的值(全局坐标)。

要使用此方法,请先创建 Point 类的一个实例。您指定的 x 和 y 值表示局部坐标,因为它们是相对于对象原点。

然后,您可以将创建的 Point 实例作为参数传递给 localToGlobal() 方法。该方法会返回一个新的 Point 对象,该对象具有相对于舞台原点(而不是对象原点)的 x 和 y 值。

flash.display.DisplayObject.localToGlobal
measure 计算元素的默认大小。 计算元素的默认大小。此方法是一种高级方法,可在创建 GraphicElement 的子类时覆盖。

您无需直接调用此方法。使用 addElement() 方法将元素添加到 IGraphicElementContainer 容器(例如,组)时,以及调用元素的 invalidateSize() 方法时,Flex 会调用 measure() 方法。

默认情况下您会设置元素的显式高度和显式宽度,Flex 不会调用 measure() 方法,即使您显式调用 invalidateSize() 方法也不例外。若要覆盖此行为,请覆盖 skipMeasure() 方法。

覆盖此方法时,必须设置 measuredWidthmeasuredHeight 属性以定义默认大小。您可以选择设置 measuredXmeasuredY 属性以定义相对于元素的原点的默认测量界限左上角。

measure() 的概念点供元素提供其自己的原始或固有界限作为默认值。因此,measuredWidthmeasuredHeight 属性应由以下几个因素确定:

  • 组件需要显示的文本量。
  • 组件所显示的 JPEG 图像的大小。

某些情况下,确定默认值的方式并不固定。例如,对于一个简单的 GreenCircle 元素,可能只需在其 measure() 方法中设置 measuredWidth = 100 和 measuredHeight = 100 便可提供合理的默认大小。而在其他情况下(例如 TextArea),相应计算(例如查找合适的宽度和高度,使其刚好适合显示所有文本并拥有黄金矩形的高宽比)所耗费的时间可能会过长。

measure() 的默认实现会将 measuredWidthmeasuredHeightmeasuredXmeasuredY 属性的值设置为 0

parentChanged 将 IGraphicElement 添加到主机组件或从主机组件将其删除时由 IGraphicElementContainer 调用。valuespark.core:IGraphicElementContainerIGraphicElementIGraphicElementContainer 将 IGraphicElement 添加到主机组件或从主机组件将其删除时由 IGraphicElementContainer 调用。

您通常无需调用此方法。

preferredHeightPreTransform 用于 ILayoutElement 接口的实现,返回显式度量的高度预转换。显式度量的高度,预转换。 用于 ILayoutElement 接口的实现,返回显式度量的高度预转换。 preferredWidthPreTransform 用于 ILayoutElement 接口的实现,返回测量宽度预转换的显式。显式度量的高度,预转换。 用于 ILayoutElement 接口的实现,返回测量宽度预转换的显式。 setLayoutBoundsPosition newBoundsXnewBoundsYpostLayoutTransformtrue setLayoutBoundsSize widthheightpostLayoutTransformtrue setLayoutMatrix3D valueinvalidateLayout setLayoutMatrix valueinvalidateLayout setSharedDisplayObject 确定此元素是否可以将它自己绘制到该序列的 sharedDisplayObject。当此 IGraphicElement 可以将它自己绘制到该序列的共享 DisplayObject 时返回 truesharedDisplayObject共享的 DisplayObject。 确定此元素是否可以将它自己绘制到该序列的 sharedDisplayObject

当此 IGraphicElement 可以在共享的 DisplayObject graphics 属性中累积地绘制时,实现程序通常返回 true。在此 IGraphicElement 需要在 DisplayObject 上设置属性(不会应用于序列中的剩余元素)的所有情形下,此方法必须返回 false。此类属性的示例有 rotation、scale、transform、mask、alpha、filters、color transform、3D 和 layer。

当此方法返回 true 时,随后对 displayObject 属性的 getter 的调用必须返回相同的显示对象。

在某些情况下,sharedDisplayObject 属性可能本身就是 IGraphicElementContainer。在其余情形下,DisplayObject 是由序列中的第一个元素创建的。

当此 IGraphicElement 需要重新生成其序列时,它会通过调用其 invalidateGraphicElementSharing() 方法通知 IGraphicElementContainer

transformAround transformCenterscalenullrotationnulltranslationnullpostLayoutScalenullpostLayoutRotationnullpostLayoutTranslationnullinvalidateLayouttrue transformHeightForLayout 转换元素的大小。返回转换的高度。Transformation 是此元素的布局转换矩阵。 width目标预转换宽度。 height目标预转换高度。 postLayoutTransformtruetrue 时,返回的边框位于其父空间中已转换元素的周围(首先应用元素的转换)。 转换元素的大小。

该方法计算图形元素的边框,好像元素的宽度/高度属性设置为传入的值。该方法返回边框的高度。

通常,该方法不能由开发人员使用。但是,您应该实现或重写由 ILayoutElement 接口定义的方法。

transformPointToParent 一种实用程序方法,用于将以该对象的本地坐标指定的点转换为在该对象父坐标中的相应位置。localPosition将要转换的点,指定为对象的本地坐标。 position将保存布局前结果的 Vector3D 点。如果为 null,则忽略该参数。 postLayoutPosition将保存布局后结果的 Vector3D 点。如果为 null,则忽略该参数。 一种实用程序方法,用于将以该对象的本地坐标指定的点转换为在该对象父坐标中的相应位置。如果 positionpostLayoutPosition 参数为非 null,将对这两个参数设置布局前和布局后结果。 transformWidthForLayout 转换元素的大小。返回转换的宽度。Transformation 是此元素的布局转换矩阵。 width目标预转换宽度。 height目标预转换高度。 postLayoutTransformtruetrue 时,返回的边框位于其父空间中已转换元素的周围(首先应用元素的转换)。 转换元素的大小。

该方法计算图形元素的边框,好像元素的宽度/高度属性设置为传入的值。该方法返回边框的宽度。

通常,该方法不能由开发人员使用。但是,您应该实现或重写由 ILayoutElement 接口定义的方法。

updateDisplayList 绘制元素和/或调整其内容的大小并定位该内容。unscaledWidth指定组件在组件坐标中的宽度(以像素为单位),而不考虑该组件的 scaleX 属性值。 unscaledHeight指定组件在组件坐标中的高度(以像素为单位),而不考虑该组件的 scaleY 属性值。 绘制元素和/或调整其内容的大小并定位该内容。此方法是一种高级方法,可在创建 GraphicElement 的子类时覆盖。

您无需直接调用此方法。使用 addElement() 方法将组件添加到 IGraphicElementContainer 容器(例如,组)时,以及调用元素的 invalidateDisplayList() 方法时,Flex 会调用 updateDisplayList() 方法。

您可以借助此方法使用针对元素的 displayObject(如 graphics.drawRect())上的一些方法以编程方式进行绘制。

validateDisplayList 由 IGraphicElementContainer 调用以在其 displayObject 属性中重新绘制此元素。IGraphicElementContainer 调用以在其 displayObject 属性中重新绘制此元素。

如果该元素是序列中的第一个元素(将 displayObjectSharingMode 设置为 DisplayObjectSharingMode.OWNS_SHARED_OBJECT),则它必须清除 displayObject 图形并根据需要对其进行设置以绘制剩余元素。

必须始终重新绘制该元素,即使该元素本身在上次调用 validateDisplayList() 方法之后未发生更改时也是如此。如果需要重新绘制 IGraphicElementContainer 中的任何元素,则它将重新绘制整个序列。

要确保调用此方法,请通过调用其 invalidateGraphicElementSize() 方法通知 IGraphicElementContainer

即使此元素未通知 IGraphicElementContainer,也可能会调用此方法。

validateNow 根据需要,通过立即调用 validateProperties()、validateSize() 和 validateDisplayList() 来验证并更新此对象的属性和布局。 根据需要,通过立即调用 validateProperties()validateSize()validateDisplayList() 来验证并更新此对象的属性和布局。 validateProperties 由布局逻辑用于通过调用 commitProperties() 方法来验证组件的属性。 由布局逻辑用于通过调用 commitProperties() 方法来验证组件的属性。通常,子类应覆盖 commitProperties() 方法,而不是覆盖此方法。 validateSize 由 IGraphicElementContainer 调用以验证此元素的大小。IGraphicElementContainer 调用以验证此元素的大小。

当元素大小发生变化并将影响 IGraphicElementContainer 布局时,实现程序负责使父代的大小和显示列表失效。

要确保调用此方法,请通过调用其 invalidateGraphicElementSize() 方法通知 IGraphicElementContainer

即使此元素未通知 IGraphicElementContainer,也可能会调用此方法。

layoutFeatures 包含 GraphicElement 实现转换和分层支持的方法的所有实现细节。 包含 GraphicElement 实现转换和分层支持的方法的所有实现细节。大多数情况下,应该不必修改此属性。 alpha 图形元素的透明度级别。 图形元素的透明度级别。有效值为 0(完全透明)至 1(完全不透明)之间的十进制值。例如,值 .25 表示元素的不透明度为 25%。 alwaysCreateDisplayObject 指定此 GraphicElement 是否与其 DisplayObject 相关联,并呈示于 DisplayObject。false 指定此 GraphicElement 是否与其 DisplayObject 相关联,并呈示于 DisplayObject。 baselinePosition 组件第一行文本的基线的 y 坐标。 组件第一行文本的基线的 y 坐标。 baseline blendMode BlendMode 类中的一个值,用于指定要使用的混合模式。auto BlendMode 类中的一个值,用于指定要使用的混合模式。 flash.display.DisplayObject.blendModeflash.display.BlendModebottom depth designLayer displayObjectSharingMode 指示此 IGraphicElement 与其显示对象之间的关联。 指示此 IGraphicElement 与其显示对象之间的关联。IGraphicElementContainer 管理此属性,且值是 DisplayObjectSharingMode 枚举类之一。
  • DisplayObjectSharingMode.OWNS_UNSHARED_OBJECT 的值指示 IGraphicElement 专门拥有与其 displayObject 属性相对应的 DisplayObject。
  • DisplayObjectSharingMode.OWNS_SHARED_OBJECT 的值指示 IGraphicElement 拥有与其 displayObject 属性相对应的 DisplayObject,但其他 IGraphicElement 也正在使用/绘制到该显示对象。根据特定实现,IGraphicElement 可能会执行显示对象的某些管理。例如,基类 GraphicElement 会清除显示对象的转换,将其可见性、Alpha 等属性重置为其默认值,且还清除每个 validateDisplayList() 调用上的图形。
  • DisplayObjectSharingMode.USES_SHARED_OBJECT 的值指示 IGraphicElement 绘制到与其 displayObject 属性相对应的 DisplayObject。存在一个或多个绘制到相同 displayObject 的 IGraphicElement,且绘制的第一个元素将其模式设置为 DisplayObjectMode.OWNS_SHARED_OBJECT
displayObject 绘制此 IGraphicElement 所在的共享 DisplayObject。 绘制此 IGraphicElement 所在的共享 DisplayObject。

实现程序不得在此创建 DisplayObject,而应在 createDisplayObject() 方法中创建。

drawX 应该绘制元素的 x 位置。 应该绘制元素的 x 位置。 drawY 应该绘制元素的 y 位置。 应该绘制元素的 y 位置。 drawnDisplayObject GraphicElement 在其中绘制的实际 DisplayObject。 GraphicElement 在其中绘制的实际 DisplayObject。这通常等效于 displayObject 属性。子类应该在此属性上(而不是在 displayObject 上)执行绘制命令。 explicitHeight 指定该组件在组件坐标中显式高度(以像素为单位)的数字。 指定该组件在组件坐标中显式高度(以像素为单位)的数字。 mx.core.UIComponent.explicitHeightexplicitMaxHeight 布局过程中父级要考虑的组件最大建议高度。 布局过程中父级要考虑的组件最大建议高度。此值采用组件坐标(以像素为单位)。 mx.core.UIComponent.explicitMaxHeightexplicitMaxWidth 布局过程中父级要考虑的组件最大建议宽度。 布局过程中父级要考虑的组件最大建议宽度。此值采用组件坐标(以像素为单位)。 mx.core.UIComponent.explicitMaxWidthexplicitMinHeight 布局过程中父级要考虑的组件最小建议高度。 布局过程中父级要考虑的组件最小建议高度。此值采用组件坐标(以像素为单位)。 mx.core.UIComponent.explicitMinHeightexplicitMinWidth 布局过程中父级要考虑的组件最小建议宽度。 布局过程中父级要考虑的组件最小建议宽度。此值采用组件坐标(以像素为单位)。 mx.core.UIComponent.explicitMinWidthexplicitWidth 指定该组件在组件坐标中显式宽度(以像素为单位)的数字。 指定该组件在组件坐标中显式宽度(以像素为单位)的数字。 mx.core.UIComponent.explicitWidthfilters 包含当前与图形元素关联的每个滤镜对象的索引数组。 包含当前与图形元素关联的每个滤镜对象的索引数组。mx.filters 包中的类定义了可使用的特定滤镜。

getter 返回滤镜数组的副本。filters 属性值仅可以通过 setter 进行更改。

spark.filters.BevelFilterspark.filters.BlurFilterspark.filters.ColorMatrixFilterspark.filters.ConvolutionFilterspark.filters.DisplacementMapFilterspark.filters.DropShadowFilterspark.filters.GlowFilterspark.filters.GradientBevelFilterspark.filters.GradientFilterspark.filters.GradientGlowFilterspark.filters.ShaderFilter
hasComplexLayoutMatrix 如果 GraphicElement 具有任何非平移 (x,y) 转换属性,则返回 true。 如果 GraphicElement 具有任何非平移 (x,y) 转换属性,则返回 true。 hasLayoutMatrix3D height 图形元素的高度。0 图形元素的高度。 horizontalCenter id 组件的标识。 组件的标识。 includeInLayout 指定此元素是否包含在父代的布局中。true 指定此元素是否包含在父代的布局中。 is3D layoutDirection left luminosityClip 控制发光度遮罩是否剪辑设置了遮罩的内容的属性。false 控制发光度遮罩是否剪辑设置了遮罩的内容的属性。只有图形元素应用了类型为 MaskType.LUMINOSITY 的遮罩,此属性才会起作用。 maskTypeluminosityInvert 控制计算由发光度遮罩设置遮罩的图形元素的 RGB 颜色值的属性。false 控制计算由发光度遮罩设置遮罩的图形元素的 RGB 颜色值的属性。如果为 true,则遮罩中的相应区域将反转并乘以源内容中像素的 RGB 颜色值。如果为 false,则直接使用源内容中像素的 RGB 颜色值。 maskTypemaskType 定义将遮罩应用到 GraphicElement 的方式。可能的值为 MaskType.CLIP、MaskType.ALPHA 和 MaskType.LUMINOSITY。剪辑遮罩 - 遮罩处于剪辑模式下时,会将剪辑遮罩减少至 1 位。MaskType.CLIP

定义将遮罩应用到 GraphicElement 的方式。

可能的值为 MaskType.CLIPMaskType.ALPHAMaskType.LUMINOSITY

剪辑遮罩

遮罩处于剪辑模式下时,会将剪辑遮罩减少至 1 位。这意味着遮罩将不会影响源内容中像素的不透明度;它要么保留值不进行修改(如果遮罩中的相应像素具有非零 Alpha 值),要么使其完全透明(如果遮罩像素值为零 Alpha 值)。

使用剪辑遮罩时,仅遮罩定义的实际路径与形状矢量和填充用于确定源内容上的效果。会忽略遮罩上定义的笔触和位图滤镜。会将遮罩中任何填充的区域认为已填充,并呈示源内容。填充的类型和参数不相关;遮罩中的纯色填充、渐变填充或位图填充将全部呈示基础源内容,而与遮罩填充的 Alpha 值无关。

在剪辑遮罩中使用时,BitmapGraphics 被视为位图填充的矩形。结果,当遮罩的一部分(位图)按与相等尺寸的纯色填充矩形相同的方式影响遮罩时,源位图的 Alpha 通道不相关。

Alpha 遮罩

在 Alpha 模式下,会将源内容中的每个像素的不透明度与遮罩的相应区域的不透明度相乘。即,对于由不透明度为 0.5 的区域遮罩的、源内容中不透明度为 1 的像素,其结果不透明度将为 0.5。对于由不透明度为 0.5 的区域遮罩的、不透明度为 0.8 的源像素,其结果不透明度为 0.4。

从概念上讲,Alpha 遮罩等效于将转换的遮罩和源内容呈示到单独的 RGBA 表面中,并将遮罩内容的 Alpha 通道与源内容的 Alpha 通道相乘。在合成到源内容的表面中之前,会将所有遮罩内容呈示到其表面中。结果,所有 FXG 功能(如笔触、位图滤镜和填充不透明度)将影响最终合成的内容。

处于 Alpha 模式下时,会将任何位图数据的 Alpha 通道正常合成到遮罩 Alpha 通道中,并将影响最终呈示的内容。对于 BitmapGraphics 和位图填充的形状与路径,这保持 true。

发光度遮罩

发光度遮罩有时称为“柔化遮罩”,除以下方面外其作用极其类似于 Alpha 遮罩:源内容中像素的不透明度和 RGB 颜色值与遮罩中相应区域的不透明度和 RGB 颜色值相乘。

从概念上讲,发光度遮罩等效于将转换的遮罩和源内容呈示到单独的 RGBA 表面中,并将遮罩内容的 Alpha 通道和 RGB 颜色值与源内容的 Alpha 通道和 RGB 颜色值相乘。在合成到源内容的表面中之前,会将所有遮罩内容呈示到其表面中。结果,所有 FXG 功能(如笔触、位图滤镜和填充不透明度)将影响最终合成的内容。

发光度遮罩不是 Flash 的特有功能,但在诸如 Adobe Illustrator 和 Adobe Photoshop 等 Adobe Creative Suite 工具中通用。为了实现 Flash 呈示内容中发光度遮罩的视觉效果,指定发光度遮罩的图形元素实际上会实例化模仿发光度遮罩在 Adobe Creative Suite 工具中呈示时其可视外观的着色器滤镜。

由发光度遮罩设置遮罩的对象可以设置用于控制遮罩 RGB 颜色值和剪辑的属性。请参阅 luminosityInvert 和 luminosityClip 属性。

spark.core.MarkType
mask 调用显示对象被指定的 mask 对象遮罩。 调用显示对象被指定的 mask 对象遮罩。如果遮罩显示对象不在显示列表上,则会将其作为 displayObject 的子项添加到显示列表中。但不绘制 mask 对象本身。将 mask 设置为 null 可删除遮罩。若要将另一个 GraphicElement 用作遮罩,请在 Group 或其他容器中包装 GraphicElement。 flash.display.DisplayObject.maskmaxHeight maxWidth measuredHeight measuredWidth measuredX 相对于元素的原点的默认测量界限左上角。 相对于元素的原点的默认测量界限左上角。 measuredY 相对于元素的原点的默认测量界限左上角。 相对于元素的原点的默认测量界限左上角。 minHeight minWidth needsDisplayObject 如果元素需要一个独占 DisplayObject,则为 true。 如果元素需要一个独占 DisplayObject,则为 true。开发人员通常不直接调用此方法,而会在其子类中覆盖它以指示需要一个独占 DisplayObject。通常子类在必须设置其属性时需要一个 DisplayObject。这样的 DisplayObject 属性的一些示例有:filtersblendModemaskrotationalphaowner parent percentHeight percentWidth postLayoutTransformOffsets right rotationX 指示 element 实例相对于 3D 父容器距离其原始方向的 x 轴旋转(以度为单位)。 指示 element 实例相对于 3D 父容器距离其原始方向的 x 轴旋转(以度为单位)。从 0 到 180 的值表示顺时针方向旋转;从 0 到 -180 的值表示逆时针方向旋转。对于此范围之外的值,可以通过加上或减去 360 获得该范围内的值。在计算过程中,Flex 的任一 2D 布局都会忽略此属性。 rotationY 表示 DisplayObject 实例相对于 3D 父容器距离其原始方向的 y 轴旋转(以度为单位)。 表示 DisplayObject 实例相对于 3D 父容器距离其原始方向的 y 轴旋转(以度为单位)。从 0 到 180 的值表示顺时针方向旋转;从 0 到 -180 的值表示逆时针方向旋转。对于此范围之外的值,可以通过加上或减去 360 获得该范围内的值。在计算过程中,Flex 的任一 2D 布局都会忽略此属性。 rotationZ 指示元素从转换点的旋转(以度为单位)。 指示元素从转换点的旋转(以度为单位)。 rotation 指示元素从转换点的旋转(以度为单位)。 指示元素从转换点的旋转(以度为单位)。 scaleX 从转换点开始应用的元素的水平缩放比例(百分比)。 从转换点开始应用的元素的水平缩放比例(百分比)。 scaleY 从转换点开始应用的元素的垂直缩放比例(百分比)。 从转换点开始应用的元素的垂直缩放比例(百分比)。 scaleZ 从转换点开始应用的元素的 z 缩放比例(百分比)。 从转换点开始应用的元素的 z 缩放比例(百分比)。 top transformX 元素的 x 位置转换点。 元素的 x 位置转换点。 transformY 元素的 y 位置转换点。 元素的 y 位置转换点。 transformZ 元素的 z 位置转换点。 元素的 z 位置转换点。 transform verticalCenter visible width 图形元素的宽度。0 图形元素的宽度。 x 图形元素的 x 位置。 图形元素的 x 位置。 y 图形元素的 y 位置。 图形元素的 y 位置。 z 图形元素的 z 位置。 图形元素的 z 位置。
FilledElement FilledElement 类是包含笔触和填充的图形元素的基类。spark.primitives.supportClasses:StrokedElement FilledElement 类是包含笔触和填充的图形元素的基类。这是一个基类,不直接在 MXML 或 ActionScript 中使用。 FilledElement 构造函数。 构造函数。 beginDraw 为此元素设置绘制。g要绘制的图形元素。 为此元素设置绘制。这是在绘制过程中采取的三个步骤中的第一步。在这一步中,会应用笔触属性。 endDraw 完成此元素的绘制。g要完成绘制的图形元素。 完成此元素的绘制。这是在绘制过程中采取的三个步骤中的最后一步。在这一步中,填充已关闭。 fill 定义填充的属性的对象。null 定义填充的属性的对象。如果未定义,则会绘制对象而不使用填充。