ActionScript® 3.0 — dokumentacja dla platformy Adobe® Flash®
Strona główna  |  Ukryj listę pakietów i klas |  Pakiety  |  Klasy  |  Nowości  |  Indeks  |  Dodatki  |  Dlaczego język angielski?
Filtry: AIR 30.0 i wcześniejsze, Flash Player 30.0 i wcześniejsze, Flash Lite 4
Flex 4.6 i wcześniejsze, Flash Pro CS6 i wcześniejsze
Ukryj filtry
flash.display 

Graphics  - AS3

Pakietyx

Najwyższy poziom
adobe.utils
air.desktop
air.net
air.update
air.update.events
coldfusion.air
coldfusion.air.errors
coldfusion.air.events
coldfusion.service
coldfusion.service.events
coldfusion.service.mxml
com.adobe.acm.solutions.authoring.domain.extensions
com.adobe.acm.solutions.ccr.domain.extensions
com.adobe.consulting.pst.vo
com.adobe.dct.component
com.adobe.dct.component.datadictionary
com.adobe.dct.component.datadictionaryElement
com.adobe.dct.component.dataElementsPanel
com.adobe.dct.component.toolbars
com.adobe.dct.event
com.adobe.dct.exp
com.adobe.dct.model
com.adobe.dct.service
com.adobe.dct.service.provider
com.adobe.dct.transfer
com.adobe.dct.util
com.adobe.dct.view
com.adobe.ep.taskmanagement.domain
com.adobe.ep.taskmanagement.event
com.adobe.ep.taskmanagement.filter
com.adobe.ep.taskmanagement.services
com.adobe.ep.taskmanagement.util
com.adobe.ep.ux.attachmentlist.component
com.adobe.ep.ux.attachmentlist.domain
com.adobe.ep.ux.attachmentlist.domain.events
com.adobe.ep.ux.attachmentlist.domain.renderers
com.adobe.ep.ux.attachmentlist.skin
com.adobe.ep.ux.attachmentlist.skin.renderers
com.adobe.ep.ux.content.event
com.adobe.ep.ux.content.factory
com.adobe.ep.ux.content.handlers
com.adobe.ep.ux.content.managers
com.adobe.ep.ux.content.model.asset
com.adobe.ep.ux.content.model.preview
com.adobe.ep.ux.content.model.relation
com.adobe.ep.ux.content.model.search
com.adobe.ep.ux.content.model.toolbar
com.adobe.ep.ux.content.search
com.adobe.ep.ux.content.services
com.adobe.ep.ux.content.services.load
com.adobe.ep.ux.content.services.permissions
com.adobe.ep.ux.content.services.preview
com.adobe.ep.ux.content.services.providers
com.adobe.ep.ux.content.services.query
com.adobe.ep.ux.content.services.relationships
com.adobe.ep.ux.content.services.search.lccontent
com.adobe.ep.ux.content.services.version
com.adobe.ep.ux.content.view
com.adobe.ep.ux.content.view.components.activate
com.adobe.ep.ux.content.view.components.grid
com.adobe.ep.ux.content.view.components.grid.hover
com.adobe.ep.ux.content.view.components.grid.hover.component
com.adobe.ep.ux.content.view.components.grid.renderers
com.adobe.ep.ux.content.view.components.relationships
com.adobe.ep.ux.content.view.components.review
com.adobe.ep.ux.content.view.components.search.renderers
com.adobe.ep.ux.content.view.components.searchpod
com.adobe.ep.ux.content.view.components.toolbar
com.adobe.ep.ux.content.view.components.toolbar.controlRenderers
com.adobe.ep.ux.content.view.components.version
com.adobe.ep.ux.documentsubmit.component
com.adobe.ep.ux.documentsubmit.domain
com.adobe.ep.ux.documentsubmit.skin
com.adobe.ep.ux.taskaction.component
com.adobe.ep.ux.taskaction.domain
com.adobe.ep.ux.taskaction.domain.events
com.adobe.ep.ux.taskaction.skin
com.adobe.ep.ux.taskdetails.component
com.adobe.ep.ux.taskdetails.domain
com.adobe.ep.ux.taskdetails.skin
com.adobe.ep.ux.tasklist.component
com.adobe.ep.ux.tasklist.domain
com.adobe.ep.ux.tasklist.skin
com.adobe.ep.ux.webdocumentviewer.domain
com.adobe.exm.expression
com.adobe.exm.expression.error
com.adobe.exm.expression.event
com.adobe.exm.expression.impl
com.adobe.fiber.runtime.lib
com.adobe.fiber.services
com.adobe.fiber.services.wrapper
com.adobe.fiber.styles
com.adobe.fiber.util
com.adobe.fiber.valueobjects
com.adobe.gravity.binding
com.adobe.gravity.context
com.adobe.gravity.flex.bundleloader
com.adobe.gravity.flex.progress
com.adobe.gravity.flex.serviceloader
com.adobe.gravity.framework
com.adobe.gravity.init
com.adobe.gravity.service.bundleloader
com.adobe.gravity.service.logging
com.adobe.gravity.service.manifest
com.adobe.gravity.service.progress
com.adobe.gravity.tracker
com.adobe.gravity.ui
com.adobe.gravity.utility
com.adobe.gravity.utility.async
com.adobe.gravity.utility.error
com.adobe.gravity.utility.events
com.adobe.gravity.utility.factory
com.adobe.gravity.utility.flex.async
com.adobe.gravity.utility.logging
com.adobe.gravity.utility.message
com.adobe.gravity.utility.sequence
com.adobe.gravity.utility.url
com.adobe.guides.control
com.adobe.guides.domain
com.adobe.guides.i18n
com.adobe.guides.spark.components.skins
com.adobe.guides.spark.components.skins.mx
com.adobe.guides.spark.headers.components
com.adobe.guides.spark.headers.skins
com.adobe.guides.spark.layouts.components
com.adobe.guides.spark.layouts.skins
com.adobe.guides.spark.navigators.components
com.adobe.guides.spark.navigators.renderers
com.adobe.guides.spark.navigators.skins
com.adobe.guides.spark.util
com.adobe.guides.spark.wrappers.components
com.adobe.guides.spark.wrappers.skins
com.adobe.guides.submit
com.adobe.icc.dc.domain
com.adobe.icc.dc.domain.factory
com.adobe.icc.editors.events
com.adobe.icc.editors.handlers
com.adobe.icc.editors.managers
com.adobe.icc.editors.model
com.adobe.icc.editors.model.config
com.adobe.icc.editors.model.el
com.adobe.icc.editors.model.el.operands
com.adobe.icc.editors.model.el.operators
com.adobe.icc.enum
com.adobe.icc.external.dc
com.adobe.icc.obj
com.adobe.icc.services
com.adobe.icc.services.category
com.adobe.icc.services.config
com.adobe.icc.services.download
com.adobe.icc.services.export
com.adobe.icc.services.external
com.adobe.icc.services.formbridge
com.adobe.icc.services.fragmentlayout
com.adobe.icc.services.layout
com.adobe.icc.services.letter
com.adobe.icc.services.locator
com.adobe.icc.services.module
com.adobe.icc.services.render
com.adobe.icc.services.submit
com.adobe.icc.services.user
com.adobe.icc.token
com.adobe.icc.vo
com.adobe.icc.vo.render
com.adobe.icomm.assetplacement.controller
com.adobe.icomm.assetplacement.controller.utils
com.adobe.icomm.assetplacement.data
com.adobe.icomm.assetplacement.model
com.adobe.livecycle.assetmanager.client
com.adobe.livecycle.assetmanager.client.event
com.adobe.livecycle.assetmanager.client.handler
com.adobe.livecycle.assetmanager.client.managers
com.adobe.livecycle.assetmanager.client.model
com.adobe.livecycle.assetmanager.client.model.cms
com.adobe.livecycle.assetmanager.client.service
com.adobe.livecycle.assetmanager.client.service.search
com.adobe.livecycle.assetmanager.client.service.search.cms
com.adobe.livecycle.assetmanager.client.utils
com.adobe.livecycle.content
com.adobe.livecycle.rca.model
com.adobe.livecycle.rca.model.constant
com.adobe.livecycle.rca.model.document
com.adobe.livecycle.rca.model.participant
com.adobe.livecycle.rca.model.reminder
com.adobe.livecycle.rca.model.stage
com.adobe.livecycle.rca.service
com.adobe.livecycle.rca.service.core
com.adobe.livecycle.rca.service.core.delegate
com.adobe.livecycle.rca.service.process
com.adobe.livecycle.rca.service.process.delegate
com.adobe.livecycle.rca.token
com.adobe.livecycle.ria.security.api
com.adobe.livecycle.ria.security.service
com.adobe.mosaic.layouts
com.adobe.mosaic.layouts.dragAndDrop
com.adobe.mosaic.layouts.interfaces
com.adobe.mosaic.mxml
com.adobe.mosaic.om.constants
com.adobe.mosaic.om.events
com.adobe.mosaic.om.impl
com.adobe.mosaic.om.interfaces
com.adobe.mosaic.skinning
com.adobe.mosaic.sparklib.editors
com.adobe.mosaic.sparklib.optionMenu
com.adobe.mosaic.sparklib.scrollableMenu
com.adobe.mosaic.sparklib.scrollableMenu.skins
com.adobe.mosaic.sparklib.tabLayout
com.adobe.mosaic.sparklib.tabLayout.events
com.adobe.mosaic.sparklib.tabLayout.layouts
com.adobe.mosaic.sparklib.tabLayout.skins
com.adobe.mosaic.sparklib.text
com.adobe.mosaic.sparklib.util
com.adobe.solutions.acm.authoring.presentation
com.adobe.solutions.acm.authoring.presentation.actionbar
com.adobe.solutions.acm.authoring.presentation.common
com.adobe.solutions.acm.authoring.presentation.events
com.adobe.solutions.acm.authoring.presentation.fragment
com.adobe.solutions.acm.authoring.presentation.letter
com.adobe.solutions.acm.authoring.presentation.letter.data
com.adobe.solutions.acm.authoring.presentation.preview
com.adobe.solutions.acm.authoring.presentation.rte
com.adobe.solutions.acm.ccr.presentation
com.adobe.solutions.acm.ccr.presentation.contentcapture
com.adobe.solutions.acm.ccr.presentation.contentcapture.events
com.adobe.solutions.acm.ccr.presentation.contentcapture.preview
com.adobe.solutions.acm.ccr.presentation.datacapture
com.adobe.solutions.acm.ccr.presentation.datacapture.renderers
com.adobe.solutions.acm.ccr.presentation.pdf
com.adobe.solutions.exm
com.adobe.solutions.exm.authoring
com.adobe.solutions.exm.authoring.components.controls
com.adobe.solutions.exm.authoring.components.toolbars
com.adobe.solutions.exm.authoring.domain
com.adobe.solutions.exm.authoring.domain.expression
com.adobe.solutions.exm.authoring.domain.impl
com.adobe.solutions.exm.authoring.domain.method
com.adobe.solutions.exm.authoring.domain.variable
com.adobe.solutions.exm.authoring.enum
com.adobe.solutions.exm.authoring.events
com.adobe.solutions.exm.authoring.model
com.adobe.solutions.exm.authoring.renderer
com.adobe.solutions.exm.authoring.view
com.adobe.solutions.exm.expression
com.adobe.solutions.exm.impl
com.adobe.solutions.exm.impl.method
com.adobe.solutions.exm.method
com.adobe.solutions.exm.mock
com.adobe.solutions.exm.mock.method
com.adobe.solutions.exm.runtime
com.adobe.solutions.exm.runtime.impl
com.adobe.solutions.exm.variable
com.adobe.solutions.prm.constant
com.adobe.solutions.prm.domain
com.adobe.solutions.prm.domain.factory
com.adobe.solutions.prm.domain.impl
com.adobe.solutions.prm.domain.manager
com.adobe.solutions.prm.presentation.asset
com.adobe.solutions.prm.presentation.constant
com.adobe.solutions.prm.presentation.document
com.adobe.solutions.prm.presentation.event
com.adobe.solutions.prm.presentation.file
com.adobe.solutions.prm.presentation.project
com.adobe.solutions.prm.presentation.team
com.adobe.solutions.prm.presentation.util
com.adobe.solutions.prm.service
com.adobe.solutions.prm.services.impl
com.adobe.solutions.prm.vo
com.adobe.solutions.rca.constant
com.adobe.solutions.rca.domain
com.adobe.solutions.rca.domain.common
com.adobe.solutions.rca.domain.factory
com.adobe.solutions.rca.domain.impl
com.adobe.solutions.rca.domain.impl.manager
com.adobe.solutions.rca.domain.manager
com.adobe.solutions.rca.presentation
com.adobe.solutions.rca.presentation.comment
com.adobe.solutions.rca.presentation.constant
com.adobe.solutions.rca.presentation.event
com.adobe.solutions.rca.presentation.gantt
com.adobe.solutions.rca.presentation.gantt.ruler
com.adobe.solutions.rca.presentation.template
com.adobe.solutions.rca.presentation.template.audit
com.adobe.solutions.rca.presentation.template.definition
com.adobe.solutions.rca.presentation.template.documents
com.adobe.solutions.rca.presentation.template.stages
com.adobe.solutions.rca.presentation.util
com.adobe.solutions.rca.service
com.adobe.solutions.rca.services.impl
com.adobe.solutions.rca.vo
com.adobe.solutions.rca.vo.um
com.adobe.viewsource
fl.accessibility
fl.containers
fl.controls
fl.controls.dataGridClasses
fl.controls.listClasses
fl.controls.progressBarClasses
fl.core
fl.data
fl.display
fl.events
fl.ik
fl.lang
fl.livepreview
fl.managers
fl.motion
fl.motion.easing
fl.rsl
fl.text
fl.transitions
fl.transitions.easing
fl.video
flash.accessibility
flash.concurrent
flash.crypto
flash.data
flash.desktop
flash.display
flash.display3D
flash.display3D.textures
flash.errors
flash.events
flash.external
flash.filesystem
flash.filters
flash.geom
flash.globalization
flash.html
flash.media
flash.net
flash.net.dns
flash.net.drm
flash.notifications
flash.permissions
flash.printing
flash.profiler
flash.sampler
flash.security
flash.sensors
flash.system
flash.text
flash.text.engine
flash.text.ime
flash.ui
flash.utils
flash.xml
flashx.textLayout
flashx.textLayout.compose
flashx.textLayout.container
flashx.textLayout.conversion
flashx.textLayout.edit
flashx.textLayout.elements
flashx.textLayout.events
flashx.textLayout.factory
flashx.textLayout.formats
flashx.textLayout.operations
flashx.textLayout.utils
flashx.undo
ga.controls
ga.layouts
ga.model
ga.uiComponents
ga.util
ga.views
ga.wrappers
lc.foundation
lc.foundation.domain
lc.foundation.events
lc.foundation.ui
lc.foundation.util
lc.preloader
lc.procmgmt
lc.procmgmt.commands
lc.procmgmt.domain
lc.procmgmt.events
lc.procmgmt.formbridge
lc.procmgmt.impl
lc.procmgmt.ui.attachments
lc.procmgmt.ui.controls
lc.procmgmt.ui.controls.card
lc.procmgmt.ui.controls.renderer
lc.procmgmt.ui.help
lc.procmgmt.ui.layout
lc.procmgmt.ui.presentationmodel
lc.procmgmt.ui.process
lc.procmgmt.ui.search
lc.procmgmt.ui.startpoint
lc.procmgmt.ui.task
lc.procmgmt.ui.task.form
lc.procmgmt.ui.task.form.commands
lc.procmgmt.ui.tracking
mx.accessibility
mx.automation
mx.automation.air
mx.automation.delegates
mx.automation.delegates.advancedDataGrid
mx.automation.delegates.charts
mx.automation.delegates.containers
mx.automation.delegates.controls
mx.automation.delegates.controls.dataGridClasses
mx.automation.delegates.controls.fileSystemClasses
mx.automation.delegates.core
mx.automation.delegates.flashflexkit
mx.automation.events
mx.binding
mx.binding.utils
mx.charts
mx.charts.chartClasses
mx.charts.effects
mx.charts.effects.effectClasses
mx.charts.events
mx.charts.renderers
mx.charts.series
mx.charts.series.items
mx.charts.series.renderData
mx.charts.styles
mx.collections
mx.collections.errors
mx.containers
mx.containers.accordionClasses
mx.containers.dividedBoxClasses
mx.containers.errors
mx.containers.utilityClasses
mx.controls
mx.controls.advancedDataGridClasses
mx.controls.dataGridClasses
mx.controls.listClasses
mx.controls.menuClasses
mx.controls.olapDataGridClasses
mx.controls.scrollClasses
mx.controls.sliderClasses
mx.controls.textClasses
mx.controls.treeClasses
mx.controls.videoClasses
mx.core
mx.core.windowClasses
mx.data
mx.data.crypto
mx.data.errors
mx.data.events
mx.data.messages
mx.data.mxml
mx.data.offline.errors
mx.data.utils
mx.effects
mx.effects.easing
mx.effects.effectClasses
mx.events
mx.filters
mx.flash
mx.formatters
mx.geom
mx.graphics
mx.graphics.codec
mx.graphics.shaderClasses
mx.logging
mx.logging.errors
mx.logging.targets
mx.managers
mx.messaging
mx.messaging.channels
mx.messaging.config
mx.messaging.errors
mx.messaging.events
mx.messaging.management
mx.messaging.messages
mx.modules
mx.netmon
mx.olap
mx.olap.aggregators
mx.preloaders
mx.printing
mx.resources
mx.rpc
mx.rpc.events
mx.rpc.http
mx.rpc.http.mxml
mx.rpc.livecycle
mx.rpc.mxml
mx.rpc.remoting
mx.rpc.remoting.mxml
mx.rpc.soap
mx.rpc.soap.mxml
mx.rpc.wsdl
mx.rpc.xml
mx.skins
mx.skins.halo
mx.skins.spark
mx.skins.wireframe
mx.skins.wireframe.windowChrome
mx.states
mx.styles
mx.utils
mx.validators
org.osmf.containers
org.osmf.display
org.osmf.elements
org.osmf.events
org.osmf.layout
org.osmf.logging
org.osmf.media
org.osmf.metadata
org.osmf.net
org.osmf.net.dvr
org.osmf.net.httpstreaming
org.osmf.net.metrics
org.osmf.net.qos
org.osmf.net.rtmpstreaming
org.osmf.net.rules
org.osmf.traits
org.osmf.utils
spark.accessibility
spark.automation.delegates
spark.automation.delegates.components
spark.automation.delegates.components.gridClasses
spark.automation.delegates.components.mediaClasses
spark.automation.delegates.components.supportClasses
spark.automation.delegates.skins.spark
spark.automation.events
spark.collections
spark.components
spark.components.calendarClasses
spark.components.gridClasses
spark.components.mediaClasses
spark.components.supportClasses
spark.components.windowClasses
spark.core
spark.effects
spark.effects.animation
spark.effects.easing
spark.effects.interpolation
spark.effects.supportClasses
spark.events
spark.filters
spark.formatters
spark.formatters.supportClasses
spark.globalization
spark.globalization.supportClasses
spark.layouts
spark.layouts.supportClasses
spark.managers
spark.modules
spark.preloaders
spark.primitives
spark.primitives.supportClasses
spark.skins
spark.skins.mobile
spark.skins.mobile.supportClasses
spark.skins.spark
spark.skins.spark.mediaClasses.fullScreen
spark.skins.spark.mediaClasses.normal
spark.skins.spark.windowChrome
spark.skins.wireframe
spark.skins.wireframe.mediaClasses
spark.skins.wireframe.mediaClasses.fullScreen
spark.transitions
spark.utils
spark.validators
spark.validators.supportClasses
xd.core.axm.enterprise.view.components
xd.core.axm.enterprise.view.skins
xd.core.axm.view.components
xd.core.axm.view.components.support

Elementy językowe

Stałe globalne
Funkcje globalne
Operatory
Instrukcje, słowa kluczowe i dyrektywy
Typy specjalne

Dodatki

Nowości
Błędy kompilatora
Ostrzeżenia kompilatora
Błędy czasu wykonywania
Migracja kodu ActionScript 3
Obsługiwane zestawy znaków
Tylko MXML
Elementy XML dotyczące ruchu
Znaczniki tekstu z synchronizacją czasową
Przestarzały indeks
Stałe implementacji dostępności
Instrukcje dotyczące przykładów
Informacje prawne
Pakietflash.display
Klasapublic final class Graphics
DziedziczenieGraphics Inheritance Object

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Klasa Graphics zawiera zbiór metod używanych do tworzenia kształtów wektorowych. Obiekty wyświetlane, które obsługują rysowanie zawierają obiekty Sprite i Shape. Każda z tych klas zawiera właściwość graphics, która jest obiektem Graphics. Poniżej zostały wymienione funkcje pomocnicze, zapewnione w celu ułatwienia obsługi: drawRect(), drawRoundRect(), drawCircle() oraz drawEllipse().

Nie jest możliwe utworzenie obiektu Graphics bezpośrednio z kodu ActionScript. W przypadku wywołania metody new Graphics() zostanie zgłoszony wyjątek.

Klasa Graphics jest końcowa; nie mogą być tworzone z niej podklasy.

Wyświetl przykłady



Właściwości publiczne
 WłaściwośćZdefiniowane przez
 Inheritedconstructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu.
Object
Metody publiczne
 MetodaZdefiniowane przez
  
beginBitmapFill(bitmap:BitmapData, matrix:Matrix = null, repeat:Boolean = true, smooth:Boolean = false):void
Wypełnia obszar rysunkowy obrazem bitmapowym.
Graphics
  
beginFill(color:uint, alpha:Number = 1.0):void
Określa proste wypełnienie jednokolorowe, które będzie używane w kolejnych wywołaniach innych metod klasy Graphics, takich jak lineTo() lub drawCircle().
Graphics
  
beginGradientFill(type:String, colors:Array, alphas:Array, ratios:Array, matrix:Matrix = null, spreadMethod:String = "pad", interpolationMethod:String = "rgb", focalPointRatio:Number = 0):void
Określa wypełnienie gradientowe, które będzie stosowane przy kolejnych wywołaniach metod z klasy Graphics (np. lineTo() i drawCircle()) dla obiektu.
Graphics
  
beginShaderFill(shader:Shader, matrix:Matrix = null):void
Określa wypełnienie cieniowane, które będzie stosowane przy kolejnych wywołaniach metod klasy Graphics (np. lineTo() i drawCircle()) dla obiektu.
Graphics
  
Kasuje grafikę przypisaną do tego obiektu Graphics, resetuje wypełnienia i style linii.
Graphics
  
copyFrom(sourceGraphics:Graphics):void
Kopiuje wszystkie polecenia rysunku ze źródłowego obiektu Graphics do wywołującego obiektu Graphics.
Graphics
  
cubicCurveTo(controlX1:Number, controlY1:Number, controlX2:Number, controlY2:Number, anchorX:Number, anchorY:Number):void
Rysuje sześcienną krzywą Beziera z bieżącego położenia rysowania do określonego punktu kotwiczenia.
Graphics
  
curveTo(controlX:Number, controlY:Number, anchorX:Number, anchorY:Number):void
Rysuje kwadratową krzywą Beziera przy użyciu bieżącego stylu linii z bieżącego położenia rysowania do punktu (anchorX, anchorY) zgodnie z punktem kontrolnym (controlX, controlY).
Graphics
  
Rysuje okrąg.
Graphics
  
drawEllipse(x:Number, y:Number, width:Number, height:Number):void
Rysuje elipsę.
Graphics
  
Wysyła serię instancji IGraphicsData dla rysunku.
Graphics
  
drawPath(commands:Vector.<int>, data:Vector.<Number>, winding:String = "evenOdd"):void
Wysyła serię poleceń dla rysunku.
Graphics
  
drawRect(x:Number, y:Number, width:Number, height:Number):void
Rysuje prostokąt.
Graphics
  
drawRoundRect(x:Number, y:Number, width:Number, height:Number, ellipseWidth:Number, ellipseHeight:Number = NaN):void
Rysuje zaokrąglony prostokąt.
Graphics
  
drawTriangles(vertices:Vector.<Number>, indices:Vector.<int> = null, uvtData:Vector.<Number> = null, culling:String = "none"):void
Renderuje zbiór trójkątów, zwykle w celu odkształcenia bitmap i nadania im wyglądu trójwymiarowego.
Graphics
  
Stosuje wypełnienie linii oraz krzywych, które zostały dodane od momentu ostatniego wywołania metod beginFill(), beginGradientFill() lub beginBitmapFill().
Graphics
 Inherited
Wskazuje, czy dla obiektu zdefiniowano określoną właściwość.
Object
 Inherited
Wskazuje, czy instancja klasy Object należy do łańcucha prototypów obiektu określonego jako parametr.
Object
  
lineBitmapStyle(bitmap:BitmapData, matrix:Matrix = null, repeat:Boolean = true, smooth:Boolean = false):void
Określa bitmapę, jaka będzie używana dla obrysu podczas rysowania linii.
Graphics
  
lineGradientStyle(type:String, colors:Array, alphas:Array, ratios:Array, matrix:Matrix = null, spreadMethod:String = "pad", interpolationMethod:String = "rgb", focalPointRatio:Number = 0):void
Określa gradient, jaki będzie używany dla obrysu podczas rysowania linii.
Graphics
  
lineShaderStyle(shader:Shader, matrix:Matrix = null):void
Określa moduł cieniujący, jaki będzie używany dla obrysu podczas rysowania linii.
Graphics
  
lineStyle(thickness:Number = NaN, color:uint = 0, alpha:Number = 1.0, pixelHinting:Boolean = false, scaleMode:String = "normal", caps:String = null, joints:String = null, miterLimit:Number = 3):void
Określa styl linii jaki będzie używany dla kolejnych wywołań metod Graphics, takich jak lineTo() lub drawCircle().
Graphics
  
Rysuje linię przy wykorzystaniu obecnego stylu linii z obecnej pozycji rysowania do (x,y); wówczas obecna pozycja rysowania jest ustawiana na (x,y).
Graphics
  
Zmienia położenie kursora rysowania na (x, y).
Graphics
 Inherited
Wskazuje, czy określona właściwość istnieje i jest przeliczalna.
Object
  
Pobiera zawartość grafiki wektorowej obiektu Sprite lub Shape (opcjonalnie jego elementów potomnych).
Graphics
 Inherited
Ustawia dostępność właściwości dynamicznej używanej w pętlach.
Object
 Inherited
Zwraca ciąg reprezentujący obiekt — sformatowany zgodnie z konwencjami właściwymi dla ustawień regionalnych.
Object
 Inherited
Zwraca ciąg reprezentujący określony obiekt.
Object
 Inherited
Zwraca pierwotną wartość dla określonego obiektu.
Object
Szczegół metody

beginBitmapFill

()metoda
public function beginBitmapFill(bitmap:BitmapData, matrix:Matrix = null, repeat:Boolean = true, smooth:Boolean = false):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Wypełnia obszar rysunkowy obrazem bitmapowym. Bitmapa może być powtarzana lub w postaci mozaiki w celu wypełnienia obszaru. Wypełnienie będzie obowiązywało do czasu wywołania metody beginFill(), beginBitmapFill(), beginGradientFill() lub beginShaderFill(). Wywołanie metody clear() powoduje wyczyszczenie zawartości wypełnienia.

Aplikacja renderuje wypełnienie w momencie narysowania trzech lub więcej punktów lub gdy wywołana zostanie metoda endFill().

Parametry

bitmap:BitmapData — Przezroczysty lub nieprzezroczysty obraz bitmapowy, zawierający bity, które będą wyświetlane.
 
matrix:Matrix (default = null) — Obiekt matrycy (klasy flash.geom.Matrix), który może zostać wykorzystany do definiowana przekształceń bitmapy. Na przykład: możliwe jest wykorzystanie poniższej macierzy do obracania bitmapy o 45 stopni (pi/4 radiany):
     matrix = new flash.geom.Matrix(); 
     matrix.rotate(Math.PI / 4);
     
 
repeat:Boolean (default = true) — Jeżeli wartość true, wówczas obraz bitmapowy jest powtarzany we wzorze mozaikowym. Jeżeli wartość false, wówczas obraz bitmapowy nie jest powtarzany, zaś krawędzie bitmapy są wykorzystywane w dowolnym obszarze wypełniania, który rozciąga się poza bitmapę.

Przykładowo biorąc pod uwagę poniższą bitmapę (wzór szachownicy wielkości 20 x 20 pikseli):

szachownica wielkości 20 na 20 pikseli

W przypadku ustawienia właściwości repeat na wartość true (tak jak w poniższym przykładzie), wypełnienie bitmapy powtarza bitmapę:

szachownica wielkości 60 na 60 pikseli

W przypadku ustawienia dla właściwości repeat wartości false wypełnienie bitmapy wykorzystuje piksele krawędziowe w obszarze wypełniania, który znajduje się poza bitmapą:

obraz wielkości 60 na 60 pikseli bez powtarzania

 
smooth:Boolean (default = false) — Jeżeli wartość false, wówczas powiększone obrazy bitmapowe są renderowane za pomocą algorytmu sąsiadowania i występuje efekt pikselizacji. Jeżeli wartość true, wówczas powiększone obrazy bitmapowe są renderowane za pomocą algorytmu dwuliniowego. Renderowanie przy użyciu algorytmu najbliższego sąsiada (NNA, ang. nearest neighbor algorithm) jest szybsze.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje zastosowanie obrazu (image1.jpg), który jest obracany i powtarzany, w celu wypełnienia prostokąta.
  1. Plik obrazu (image1.jpg) jest ładowany przy pomocy obiektów Loader i URLRequest. W tym przypadku plik znajduje się w tym samym katalogu co plik SWF. Konieczne jest aby plik SWF został skompilowany przy pomocy zabezpieczenia odtwarzania lokalnego, ustawionego na dostęp tylko do plików lokalnych.
  2. Przy ładowaniu obrazu (zdarzenie Event jest zakończone) wywoływana jest metoda drawImage(). Metoda ioErrorHandler() zapisuje komentarz śledzenia, w przypadku niepoprawnego załadowania obrazu.
  3. W metodzie drawImage() obiekt BitmapData jest instancjonowany, zaś jego szerokość i wysokość są ustawiane zgodnie z obrazem (image1.jpg). Wówczas obraz źródłowy jest wrysowywany w obiekt BitmapData. Następnie w obiekcie Sprite mySprite rysowany jest prostokąt wypełniany przy wykorzystaniu obiektu BitmapData. Korzystając z obiektu Matrix, metoda beginBitmapFill() obraca obraz o 45 stopni, a następnie rozpoczyna wypełnianie prostokąta obrazem.
package {
    import flash.display.Sprite;
    import flash.display.BitmapData;
    import flash.display.Loader;
    import flash.net.URLRequest;
    import flash.events.Event;
    import flash.events.IOErrorEvent;
    import flash.geom.Matrix;

    public class Graphics_beginBitmapFillExample extends Sprite {
 
        private var url:String = "image1.jpg";
        private var loader:Loader = new Loader();

        public function Graphics_beginBitmapFillExample() {

            var request:URLRequest = new URLRequest(url);
            
            loader.load(request);
            loader.contentLoaderInfo.addEventListener(Event.COMPLETE, drawImage);
            loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
        }

        private function drawImage(event:Event):void {

            var mySprite:Sprite = new Sprite();
            var myBitmap:BitmapData = new BitmapData(loader.width, loader.height, false);
  
            myBitmap.draw(loader, new Matrix());
            
            var matrix:Matrix = new Matrix();
            matrix.rotate(Math.PI/4);
            
            mySprite.graphics.beginBitmapFill(myBitmap, matrix, true);
            mySprite.graphics.drawRect(100, 50, 200, 90);
            mySprite.graphics.endFill();
            
            addChild(mySprite);
        }
 
         private function ioErrorHandler(event:IOErrorEvent):void {
            trace("Unable to load image: " + url);
        }
    }   
}

beginFill

()metoda 
public function beginFill(color:uint, alpha:Number = 1.0):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Określa proste wypełnienie jednokolorowe, które będzie używane w kolejnych wywołaniach innych metod klasy Graphics, takich jak lineTo() lub drawCircle(). Wypełnienie będzie obowiązywało do czasu wywołania metody beginFill(), beginBitmapFill(), beginGradientFill() lub beginShaderFill(). Wywołanie metody clear() powoduje wyczyszczenie zawartości wypełnienia.

Aplikacja renderuje wypełnienie w momencie narysowania trzech lub więcej punktów lub gdy wywołana zostanie metoda endFill().

Parametry

color:uint — Kolor wypełnienia (0xRRGGBB).
 
alpha:Number (default = 1.0) — Wartość alpha wypełnienia (0,0 do 1,0).

Powiązane elementy interfejsu API


Przykład
Sposób korzystania z tego przykładu
Sposób zastosowania tej metody został przedstawiony na końcu tej lekcji w sekcji Przykład.

beginGradientFill

()metoda 
public function beginGradientFill(type:String, colors:Array, alphas:Array, ratios:Array, matrix:Matrix = null, spreadMethod:String = "pad", interpolationMethod:String = "rgb", focalPointRatio:Number = 0):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Określa wypełnienie gradientowe, które będzie stosowane przy kolejnych wywołaniach metod z klasy Graphics (np. lineTo() i drawCircle()) dla obiektu. Wypełnienie będzie obowiązywało do czasu wywołania metody beginFill(), beginBitmapFill(), beginGradientFill() lub beginShaderFill(). Wywołanie metody clear() powoduje wyczyszczenie zawartości wypełnienia.

Aplikacja renderuje wypełnienie w momencie narysowania trzech lub więcej punktów lub gdy wywołana zostanie metoda endFill().

Parametry

type:String — Wartość z klasy GradientType, która określa który z typów gradientów należy zastosować: GradientType.LINEAR czy GradientType.RADIAL.
 
colors:Array — Tablica wartości kolorów RGB w formacie szesnastkowym do wykorzystania w gradiencie, na przykład: czerwony to 0xFF0000, niebieski to 0x0000FF itd. Możliwe jest określenie maksymalnie 15 kolorów. Dla każdego koloru należy określić odpowiednią wartość w parametrach alpha i proporcji.
 
alphas:Array — Tablica wartości alpha dla odpowiednich kolorów w tablicy kolorów; wartości prawidłowe są w zakresie od 0 do 1. Jeżeli wartość wynosi mniej niż 0, wówczas wartość domyślna wynosi 0. Jeżeli wartość wynosi więcej niż 1, wówczas wartość domyślna wynosi 1.
 
ratios:Array — Tablica proporcji dystrybucji kolorów; wartości prawidłowe są w zakresie od 0 do 255. Ta wartość definiuje procent szerokości, w której kolor jest próbkowany w 100%. Wartość 0 reprezentuje położenie po lewej stronie pola gradientu, zaś wartość 255 reprezentuje położenie po prawej stronie pola gradientu.

Uwaga: Ta wartość reprezentuje położenia w polu gradientu, a nie układu współrzędnych końcowego gradientu, który może być szerszy lub cieńszy od pola gradientu. Należy określić wartość dla każdej wartości parametru colors.

Przykładowo dla gradientu liniowego, który zawiera dwa kolory (niebieski i zielony), poniższy przykład ilustruje umiejscowienie kolorów w formie gradientowej według wartości innych niż znajdujące się w tablicy ratios:

ratiosGradient
[0, 127]gradient liniowy niebieskiego do zielonego w proporcjach 0 i 127
[0, 255]gradient liniowy niebieskiego do zielonego w proporcjach 0 i 255
[127, 255]gradient liniowy niebieskiego do zielonego w proporcjach 127 i 255

Wartości w tablicy muszą zwiększać się w sekwencji; przykładowo: [0, 63, 127, 190, 255].

 
matrix:Matrix (default = null) — Macierz przekształceń jest zdefiniowana przez klasę flash.geom.Matrix. Klasa flash.geom.Matrix zawiera metodę createGradientBox(), która pozwala na wygodne ustawienie matrycy do użycia z metodą beginGradientFill().
 
spreadMethod:String (default = "pad") — Wartość z klasy SpreadMethod określa którą z metod rysowania należy wykorzystać: SpreadMethod.PAD, SpreadMethod.REFLECT lub SpreadMethod.REPEAT.

Przykładowo biorąc pod uwagę prosty gradient liniowy między dwoma barwami:

     import flash.geom.*
     import flash.display.*
     var fillType:String = GradientType.LINEAR;
     var colors:Array = [0xFF0000, 0x0000FF];
     var alphas:Array = [1, 1];
     var ratios:Array = [0x00, 0xFF];
     var matr:Matrix = new Matrix();
     matr.createGradientBox(20, 20, 0, 0, 0);
     var spreadMethod:String = SpreadMethod.PAD;
     this.graphics.beginGradientFill(fillType, colors, alphas, ratios, matr, spreadMethod);        
     this.graphics.drawRect(0,0,100,100);
     

W tym przykładzie zastosowano metodę rysowania SpreadMethod.PAD, dzięki czemu wypełnienie gradientu wygląda następująco:

gradient liniowy z metodą SpreadMethod.PAD

W przypadku zastosowania metody rysowania SpreadMethod.REFLECT wypełnienie gradientu wygląda następująco:

gradient liniowy z metodą SpreadMethod.REFLECT

W przypadku zastosowania metody rysowania SpreadMethod.REPEAT wypełnienie gradientu wygląda następująco:

gradient liniowy z metodą SpreadMethod.REPEAT

 
interpolationMethod:String (default = "rgb") — Wartość dla klasy InterpolationMethod, która określa wartość do użycia: InterpolationMethod.LINEAR_RGB lub InterpolationMethod.RGB

Przykładowo biorąc pod uwagę prosty gradient liniowy między dwoma barwami (przy parametrze spreadMethod ustawionym na wartość SpreadMethod.REFLECT). Różne metody interpolacji wpływają na wygląd w następujący sposób:

gradient liniowy z metodą InterpolationMethod.LINEAR_RGB gradient liniowy z metodą InterpolationMethod.RGB
InterpolationMethod.LINEAR_RGBInterpolationMethod.RGB
 
focalPointRatio:Number (default = 0) — Liczba kontrolująca położenie ogniskowej gradientu. 0 oznacza, że ogniskowa znajduje się po środku. 1 oznacza, że ogniskowa znajduje się na jednej z granic okręgu gradientu. -1 oznacza, że ogniskowa znajduje się na drugiej z granic okręgu gradientu. Wartość mniejsza niż -1 lub większa niż 1 jest zaokrąglana do -1 lub 1. Przykład poniżej przedstawia właściwość focalPointRatio ustawioną na wartość 0,75:

gradient radialny z właściwością focalPointRatio ustawioną na wartość 0,75


Zgłasza
ArgumentError — Jeżeli parametr type nie jest poprawny.

Powiązane elementy interfejsu API

beginShaderFill

()metoda 
public function beginShaderFill(shader:Shader, matrix:Matrix = null):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10, AIR 1.5

Określa wypełnienie dla modułu cieniującego, które będzie stosowane przy kolejnych wywołaniach metod klasy Graphics (np. lineTo() i drawCircle()) dla obiektu. Wypełnienie będzie obowiązywało do czasu wywołania metody beginFill(), beginBitmapFill(), beginGradientFill() lub beginShaderFill(). Wywołanie metody clear() powoduje wyczyszczenie zawartości wypełnienia.

Aplikacja renderuje wypełnienie w momencie narysowania trzech lub więcej punktów lub gdy wywołana zostanie metoda endFill().

Wypełnianie przy użyciu modułów cieniujących nie jest obsługiwane w przypadku renderowania GPU

Parametry

shader:Shader — Moduł cieniujący, jaki ma zostać użyty dla wypełnienia. Ta instancja modułu cieniującego nie musi określać obrazu wejściowego. Jeśli jednak w module cieniującym określone są obrazy wejściowe, dane wejściowe należy wprowadzić ręcznie. Aby określić dane wejściowe, należy ustawić właściwość input odpowiedniej właściwości ShaderInput, która należy do właściwości Shader.data.

W przypadku przekazania instancji modułu cieniującego jako argumentu moduł cieniujący jest kopiowany wewnętrznie. Podczas operacji wypełniania używana jest kopia wewnętrzna, a nie odwołanie do oryginalnego modułu cieniującego. Wszelkie zmiany modułu cieniującego, takie jak zmiana wartości parametru, obiektu wejściowego lub kodu bajtowego, nie są stosowane do skopiowanego modułu cieniującego, który jest używany dla wypełnienia.

 
matrix:Matrix (default = null) — Obiekt macierzy (klasy flash.geom.Matrix), który może zostać wykorzystany do definiowana przekształceń modułu cieniującego. Na przykład: możliwe jest użycie poniższej macierzy do obracania modułu cieniującego o 45 stopni (pi/4 radiany):
     matrix = new flash.geom.Matrix(); 
     matrix.rotate(Math.PI / 4);
     

Współrzędne odebrane w module cieniującym są określane na podstawie macierzy określonej dla parametru matrix. W przypadku domyślnej macierzy (null) współrzędne w module cieniującym są współrzędnymi lokalnych pikseli, które mogą być używane do próbkowania danych wejściowych.


Zgłasza
ArgumentError — Gdy typ wyjścia modułu cieniującego nie jest zgodny z tą operacją (moduł cieniujący musi określać wyjście pixel3 lub pixel4).
 
ArgumentError — Gdy moduł cieniujący określa obraz wejściowy, które nie został udostępniony.
 
ArgumentError — W przypadku filtrów ByteArray lub Vector.Instancja <Number> jest używana jako obiekt wejściowy, a właściwości width i height nie zostały określone dla ShaderInput, lub określone wartości nie są zgodne z ilością danych w obiekcie wejściowym. Więcej informacji można znaleźć w opisie właściwości ShaderInput.input.

Powiązane elementy interfejsu API

clear

()metoda 
public function clear():void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Czyści grafikę przypisaną do tego obiektu Graphics, zeruje wypełnienia i style linii.

copyFrom

()metoda 
public function copyFrom(sourceGraphics:Graphics):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10, AIR 1.5, Flash Lite 4

Kopiuje wszystkie polecenia rysowania ze źródłowego obiektu Graphics do wywołującego obiektu Graphics.

Parametry

sourceGraphics:Graphics — Obiekt Graphics, z którego kopiowane będą polecenia rysunku.

cubicCurveTo

()metoda 
public function cubicCurveTo(controlX1:Number, controlY1:Number, controlX2:Number, controlY2:Number, anchorX:Number, anchorY:Number):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 11, AIR 3

Rysuje sześcienną krzywą Beziera z bieżącego położenia rysowania do określonego punktu kotwiczenia. Sześcienne krzywe Beziera składają się z dwóch punktów kotwiczenia oraz dwóch punktów kontrolnych. Krzywa interpoluje oba punkty kotwiczenia i zmienia kształt w kierunku dwóch punktów kontrolnych.

Sześcienna krzywa Beziera

Cztery punkty używane do rysowania sześciennej krzywej Beziera przy użyciu metody cubicCurveTo():

  • Bieżące położenie rysowania stanowi pierwszy punkt kotwiczenia.
  • Parametry anchorX i anchorY określają drugi punkt kotwiczenia.
  • Parametry controlX1 i controlY1 określają pierwszy punkt kontrolny.
  • Parametry controlX2 i controlY2 określają drugi punkt kontrolny.

W przypadku wywołania metody cubicCurveTo() przed wywołaniem metody moveTo() krzywa ma początek w punkcie (0, 0).

Jeśli metoda cubicCurveTo() zakończy się powodzeniem, środowisko wykonawcze Flash ustawi bieżące położenie rysowania w punkcie (anchorX, anchorY). Jeśli metoda cubicCurveTo() zakończy się niepowodzeniem, bieżące położenie rysowania pozostanie bez zmian.

Jeśli w klipie filmowym istnieje zawartość utworzona przy użyciu narzędzi do rysowania aplikacji Flash, wówczas rezultaty wywołań metody cubicCurveTo() są rysowane pod tą zawartością.

Parametry

controlX1:Number — Określa pozycję poziomą pierwszego punktu kontrolnego względem punktu pasowania macierzystego obiektu ekranowego.
 
controlY1:Number — Określa pozycję pionową pierwszego punktu kontrolnego względem punktu pasowania macierzystego obiektu ekranowego.
 
controlX2:Number — Określa pozycję poziomą drugiego punktu kontrolnego względem punktu pasowania macierzystego obiektu ekranowego.
 
controlY2:Number — Określa pozycję pionową drugiego punktu kontrolnego względem punktu pasowania macierzystego obiektu ekranowego.
 
anchorX:Number — Określa pozycję poziomą punktu kotwiczenia względem punktu pasowania macierzystego obiektu ekranowego.
 
anchorY:Number — Określa pozycję pionową punktu kotwiczenia względem punktu pasowania macierzystego obiektu ekranowego.


Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje rysowanie niebieskiego okrągłego obiektu o szerokości i wysokości 100 pikseli, w odległości 250 pikseli w prawo od początku układu współrzędnych (0,0) obiektu ekranowego Sprite.

Kod rysuje cztery krzywe w celu otrzymania okręgu, a następnie wypełnia kształt kolorem niebieskim.

Ze względu na naturę równania kwadratowego Beziera nie jest to okrąg doskonały. Najlepszym sposobem rysowania okręgu jest wykorzystanie metody drawCircle() klasy Graphics.

package {
    import flash.display.Sprite;
    import flash.display.Shape;
    
    public class Graphics_cubicCurveToExample extends Sprite
    {
        public function Graphics_cubicCurveToExample():void
        {
            var rounderObject:Shape = new Shape();

            rounderObject.graphics.beginFill(0x0000FF);
            rounderObject.graphics.moveTo(250, 0);
            rounderObject.graphics.cubicCurveTo(275, 0, 300, 25, 300, 50);
            rounderObject.graphics.cubicCurveTo(300, 75, 275, 100, 250, 100);
            rounderObject.graphics.cubicCurveTo(225, 100, 200, 75, 200, 50);
            rounderObject.graphics.cubicCurveTo(200, 25, 225, 0, 250, 0);
            rounderObject.graphics.endFill();
            
            this.addChild(rounderObject);
        }
    }
}

curveTo

()metoda 
public function curveTo(controlX:Number, controlY:Number, anchorX:Number, anchorY:Number):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Rysuje kwadratową krzywą Beziera przy użyciu bieżącego stylu linii z bieżącego położenia rysowania do punktu (anchorX, anchorY) zgodnie z punktem kontrolnym o współrzędnych (controlX, controlY). Obecna pozycja rysowania jest ustawiona na (anchorX, anchorY). W przypadku, gdy klip filmowy w którym przeprowadzane jest rysowanie posiada zawartość, która została utworzona przy pomocy narzędzi rysowania aplikacji Flash, wówczas wywołania metody curveTo() są rysowane pod zawartością. W sytuacji gdy zostanie wywołana metoda curveTo() przed wywołaniami metody moveTo(), wówczas domyślną pozycją obecnego rysowania jest (0,0). Jeżeli brak jest któregoś z parametrów ta metoda kończy się niepowodzeniem, zaś obecna pozycja rysowania nie jest zmieniana.

Narysowana krzywa jest kwadratową krzywą Beziera. Kwadratowe krzywe Beziera składają się z dwóch punktów kotwiczenia oraz jednego punktu kontrolnego. Krzywa interpoluje oba punkty kotwiczenia i krzywi się w kierunku punktu kontrolnego.

Kwadratowa krzywa Beziera

Parametry

controlX:Number — Liczba wskazująca pozycję poziomą punktu kontrolnego względem punktu rejestracji nadrzędnego obiektu wyświetlanego.
 
controlY:Number — Liczba wskazująca pozycję pionową punktu kontrolnego względem punktu rejestracji nadrzędnego obiektu wyświetlanego.
 
anchorX:Number — Liczba wskazująca pozycję poziomą następnego punktu kotwiczenia względem punktu rejestracji nadrzędnego obiektu wyświetlanego.
 
anchorY:Number — Liczba wskazująca pozycję pionową następnego punktu kotwiczenia względem punktu rejestracji nadrzędnego obiektu wyświetlanego.


Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje rysowanie zielonego okrągłego obiektu o szerokości i wysokości 100 pikseli, w odległości 250 pikseli w prawo od punktu rejestracji (0,0) obiektu wyświetlanego Sprite.

Należy narysować cztery krzywe w celu otrzymania okręgu, a następnie wypełnić kolorem zielonym.

Należy zauważyć, iż ze względu na naturę równania kwadratowego Beziera, nie jest to okrąg doskonały. Najlepszym sposobem rysowania okręgu jest wykorzystanie metody drawCircle() klasy Graphics.

package {
    import flash.display.Sprite;
    import flash.display.Shape;
    
    public class Graphics_curveToExample1 extends Sprite
    {
        public function Graphics_curveToExample1():void
        {
            var roundObject:Shape = new Shape();

            roundObject.graphics.beginFill(0x00FF00);
            roundObject.graphics.moveTo(250, 0);
            roundObject.graphics.curveTo(300, 0, 300, 50);
            roundObject.graphics.curveTo(300, 100, 250, 100);
            roundObject.graphics.curveTo(200, 100, 200, 50);
            roundObject.graphics.curveTo(200, 0, 250, 0);
            roundObject.graphics.endFill();
            
            this.addChild(roundObject);
        }
    }
}

Poniższy przykład ilustruje sposób rysowania nowego księżyca za pomocą metody curveTo().

Rysowane są dwie krzywe linie grubości 1 pikseli, zaś przestrzeń pomiędzy jest wypełniana na biało. Metoda moveTo() jest stosowana w celu ustawiania obecnej pozycji rysowania na współrzędne (100, 100). Pierwsza krzywa przenosi pozycję rysowania na (100, 200) - punkt docelowy. Druga krzywa zwraca pozycję z powrotem do pozycji startowej (100, 100) - punktu docelowego. Poziome punkty kontrolne określają różne rozmiary krzywych.

package {
    import flash.display.Sprite;
    import flash.display.Shape;

    public class Graphics_curveToExample2 extends Sprite
    {
        public function Graphics_curveToExample2() {
            var newMoon:Shape = new Shape();
            
            newMoon.graphics.lineStyle(1, 0);
            newMoon.graphics.beginFill(0xFFFFFF);
            newMoon.graphics.moveTo(100, 100); 
            newMoon.graphics.curveTo(30, 150, 100, 200);    
            newMoon.graphics.curveTo(50, 150, 100, 100);
            graphics.endFill();
            
            this.addChild(newMoon);
        }
    }
}

drawCircle

()metoda 
public function drawCircle(x:Number, y:Number, radius:Number):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Rysuje okrąg. Należy ustawić styl linii, wypełnienie lub obie te właściwości przed wywołaniem metody drawCircle(), poprzez wywołanie metody linestyle(), lineGradientStyle(), beginFill(), beginGradientFill() lub beginBitmapFill().

Parametry

x:Number — Położenie x środka okręgu względem punktu rejestracji nadrzędnego obiektu wyświetlanego (w pikselach).
 
y:Number — Położenie y środka okręgu względem punktu rejestracji nadrzędnego obiektu wyświetlanego (w pikselach).
 
radius:Number — Promień okręgu (w pikselach).

Powiązane elementy interfejsu API


Przykład
Sposób korzystania z tego przykładu
Sposób zastosowania tej metody został przedstawiony na końcu tej lekcji w sekcji Przykład.

drawEllipse

()metoda 
public function drawEllipse(x:Number, y:Number, width:Number, height:Number):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Rysuje elipsę. Należy ustawić styl linii, wypełnienie lub obie te właściwości przed wywołaniem metody drawEllipse(), poprzez wywołanie metody linestyle(), lineGradientStyle(), beginFill(), beginGradientFill() lub beginBitmapFill().

Parametry

x:Number — Położenie x lewego górnego punktu obwiedni elipsy względem punktu rejestracji macierzystego obiektu wyświetlania (w pikselach).
 
y:Number — Położenie y lewego górnego punktu obwiedni elipsy względem punktu rejestracji macierzystego obiektu wyświetlania (w pikselach).
 
width:Number — Szerokość elipsy (w pikselach).
 
height:Number — Wysokość elipsy (w pikselach).

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje wykorzystanie funkcji metody drawEgg() w celu narysowania trzech jaj różnego rozmiaru (trzy rozmiary elips), w zależności od parametru eggSize.
  1. Konstruktor wywołuje funkcję metody drawEgg() oraz przekazuje parametry poziome i pionowe gdzie jajo powinno być narysowane, oraz typ jaja (eggSize) (Wysokość i szerokość jaj (elips) może być wykorzystana przy podjęciu decyzji gdzie należy je wyświetlić.)
  2. Funkcja metody drawEgg() rysuje elipsy różnego rozmiaru oraz wypełnia je przy wykorzystaniu metody beginFill(). Dla tej funkcji nie opracowano mechanizmu obsługi błędów postępu.
package {
    import flash.display.Sprite;
    import flash.display.Shape;

    public class Graphics_drawEllipseExample extends Sprite
    {
        public static const SMALL:uint = 0;
        public static const MEDIUM:uint = 1;
        public static const LARGE:uint = 2;

        public function Graphics_drawEllipseExample()
        {
            drawEgg(SMALL, 0, 100);
            drawEgg(MEDIUM, 100, 60);
            drawEgg(LARGE, 250, 35);    
        }

        public function drawEgg(eggSize:uint, x:Number, y:Number):void  {
            
            var myEgg:Shape = new Shape();
            
            myEgg.graphics.beginFill(0xFFFFFF);
            myEgg.graphics.lineStyle(1);

            switch(eggSize) {
                case SMALL:
                    myEgg.graphics.drawEllipse(x, y, 60, 70);
                    break;
                case MEDIUM:
                    myEgg.graphics.drawEllipse(x, y, 120, 150);    
                    break;
                case LARGE:
                    myEgg.graphics.drawEllipse(x, y, 150, 200);
                    break;
                default:
                    trace ("Wrong size! There is no egg.");
                break;            
            }
            
            myEgg.graphics.endFill();
    
            this.addChild(myEgg);
        }
    }
}

drawGraphicsData

()metoda 
public function drawGraphicsData(graphicsData:Vector.<IGraphicsData>):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10, AIR 1.5

Wysyła serię instancji IGraphicsData dla rysunku. Ta metoda akceptuje wektor zawierający obiekty, łącznie ze ścieżkami, wypełnieniami i obrysami, które implementują interfejs IGraphicsData. W celu renderowania pełnego kształtu wektor instancji IGraphicsData może odwoływać się do części kształtu lub złożonego, w pełni zdefiniowanego zestawu danych.

Ścieżki Graphics mogą zawierać inne ścieżki graficzne. Jeśli wektor graphicsData zawiera ścieżkę, podczas tej operacji będzie renderowana ścieżka i wszystkie jej ścieżki podrzędne.

Parametry

graphicsData:Vector.<IGraphicsData> — Wektor zawierający obiekty graficzne, z których każdy musi implementować interfejs IGraphicsData.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )

W poniższym przykładzie tworzony jest obiekt GraphicsGradientFill w celu określenia właściwości wypełnienia kwadratu. Następnie tworzone są obiekty GraphicsStroke (w celu określenia grubości linii) oraz obiekt GraphicsSolidFill (w celu określenia koloru linii) służące do ustawienia właściwości obramowania kwadratu. W dalszej kolejności tworzony jest obiekt GraphicsPath zawierający wartości służące do narysowania kształtu. Wszystkie te obiekty są zapisywane w obiekcie IGraphicsData i przekazywane do polecenia drawGraphicsData() w celu renderowania kształtu.
package
{
    import flash.display.*;
    import flash.geom.*;

    public class DrawGraphicsDataExample extends Sprite
    {
        public function DrawGraphicsDataExample()
        {
            // establish the fill properties
            var myFill:GraphicsGradientFill = new GraphicsGradientFill();
            myFill.colors = [0xEEFFEE, 0x0000FF];
            myFill.matrix = new Matrix();
            myFill.matrix.createGradientBox(100, 100, 0);
            
            // establish the stroke properties
            var myStroke:GraphicsStroke = new GraphicsStroke(2);
            myStroke.fill = new GraphicsSolidFill(0x000000);
            
            // establish the path properties
            var pathCommands = new Vector.<int>(5, true);
            pathCommands[0] = GraphicsPathCommand.MOVE_TO;
            pathCommands[1] = GraphicsPathCommand.LINE_TO;
            pathCommands[2] = GraphicsPathCommand.LINE_TO;
            pathCommands[3] = GraphicsPathCommand.LINE_TO;
            pathCommands[4] = GraphicsPathCommand.LINE_TO;
            
            var pathCoordinates:Vector.<Number> = new Vector.<Number>(10, true);
            pathCoordinates.push(10,10, 10,100, 100,100, 100,10, 10,10);
            
            var myPath:GraphicsPath = new GraphicsPath(pathCommands, pathCoordinates);
            
            // populate the IGraphicsData Vector array
            var myDrawing:Vector.<IGraphicsData> = new Vector.<IGraphicsData>(3, true);
            myDrawing[0] = myFill;
            myDrawing[1] = myStroke;
            myDrawing[2] = myPath;
            
            // render the drawing
            graphics.drawGraphicsData(myDrawing);
        }
    }
}

drawPath

()metoda 
public function drawPath(commands:Vector.<int>, data:Vector.<Number>, winding:String = "evenOdd"):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10, AIR 1.5

Wysyła serię poleceń dla rysunku. Metoda drawPath() przyjmuje w jednym wywołaniu obiekt Vector zawierający połączone polecenia rysowania moveTo(), lineTo() i curveTo(). Parametry metody drawPath() łączą polecenia rysowania z parami wartości x i y oraz kierunkiem rysowania. Polecenia rysowania są reprezentowane przez liczby całkowite — stałe zdefiniowane w klasie GraphicsPathCommand. Pary współrzędnych x- i y- są liczbami w tablicy, w której każda para definiuje miejsce w układzie współrzędnych. Kierunek rysowania jest wartością z klasy GraphicsPathWinding.

Zwykle rysunki są renderowane szybciej w przypadku użycia metody drawPath() niż kolejnych wywołań metod lineTo() i curveTo().

Metoda drawPath() korzysta z obliczeń zmiennoprzecinkowych, dzięki czemu rotacje i skalowanie kształtów jest bardziej dokładne i zapewnia lepsze wyniki. Jednak krzywe wprowadzone za pośrednictwem metody drawPath() mogą zawierać niewielkie błędy na poziomie wyrównania pikseli, gdy metoda będzie używana łącznie z metodami lineTo() oraz curveTo().

Metoda drawPath() korzysta również z innych reguł wypełniania i rysowania linii. Reguły są następujące:

  • Gdy do renderowania ścieżki stosowane jest wypełnienie:
    • Ścieżka podrzędna zawierająca mniej niż 3 punkty nie jest renderowana. (Należy jednak pamiętać o tym, że dojdzie do renderowania obrysu, co jest spójne z regułami dla obrysów, które zostały przedstawione poniżej).
    • Ścieżka podrzędna, która nie jest zamknięta (punkt końcowy nie jest równy punktowi początkowemu), jest zamknięta niejawnie.
  • Gdy do renderowania ścieżki stosowany jest obrys:
    • Ścieżki podrzędne mogą być złożone z dowolnej liczby punktów.
    • Ścieżka podrzędna nigdy nie jest zamknięta niejawnie.

Parametry

commands:Vector.<int> — Wektor zawierający liczby całkowite reprezentujące polecenia rysowania. Zestaw wartości dopuszczalnych jest określony w stałych klasy GraphicsPathCommand.
 
data:Vector.<Number> — Wektor wystąpień klasy Number, w którym każda para liczb jest traktowana jako para współrzędnych (para x, y). Pary wartości x- i y- nie są obiektami Point; wektor data stanowi serię liczb, w którym każde dwie liczby reprezentują miejsce w układzie współrzędnych.
 
winding:String (default = "evenOdd") — Określa regułę zawijania korzystającą z wartości zdefiniowanej w klasie GraphicsPathWinding.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład przedstawia wypełnianie dwóch obiektów Vector, a następnie przekazanie ich do metody drawPath() w celu renderowania niebieskiej gwiazdy. Pierwszy wektor — star_commands — zawiera serię stałych reprezentujących polecenia rysowania z klasy GraphicsPathCommand. Drugi obiekt Vector — star_coord — zawiera 5 zestawów par współrzędnych x i y. Metoda drawPath() uzgadnia polecenia z pozycjami w celu narysowania gwiazdy.
package
{
    import flash.display.*;
        
    public class DrawPathExample extends Sprite
    {
        public function DrawPathExample()
        {
            var star_commands:Vector.<int> = new Vector.<int>(5, true);
            
            star_commands[0] = GraphicsPathCommand.MOVE_TO;
            star_commands[1] = GraphicsPathCommand.LINE_TO;
            star_commands[2] = GraphicsPathCommand.LINE_TO;
            star_commands[3] = GraphicsPathCommand.LINE_TO;
            star_commands[4] = GraphicsPathCommand.LINE_TO;
            
            var star_coord:Vector.<Number> = new Vector.<Number>(10, true);
            star_coord[0] = 66; //x
            star_coord[1] = 10; //y 
            star_coord[2] = 23; 
            star_coord[3] = 127; 
            star_coord[4] = 122; 
            star_coord[5] = 50; 
            star_coord[6] = 10; 
            star_coord[7] = 49; 
            star_coord[8] = 109; 
            star_coord[9] = 127;
            
            graphics.beginFill(0x003366);
            graphics.drawPath(star_commands, star_coord);
        }
    }
}

Uwaga: Domyślnie metoda drawPath() korzysta z zawijania parzyste-nieparzyste. Dlatego środek gwiazdy nie jest wypełniony. Jeśli dla trzeciego parametru zostanie określony typ zawijania inny niż zero, środek gwiazdy zostanie wypełniony.
 graphics.drawPath(star_commands, star_coord, GraphicsPathWinding.NON_ZERO);
 

drawRect

()metoda 
public function drawRect(x:Number, y:Number, width:Number, height:Number):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Rysuje prostokąt. Należy ustawić styl linii, wypełnienie lub obie te właściwości przed wywołaniem metody drawRect(), poprzez wywołanie metody linestyle(), lineGradientStyle(), beginFill(), beginGradientFill() lub beginBitmapFill().

Parametry

x:Number — Liczba wskazująca pozycję poziomą względem punktu rejestracji macierzystego obiektu wyświetlania (w pikselach).
 
y:Number — Liczba wskazująca pozycję pionową względem punktu rejestracji nadrzędnego obiektu wyświetlanego (w pikselach).
 
width:Number — Szerokość prostokąta (w pikselach).
 
height:Number — Wysokość prostokąta (w pikselach).


Zgłasza
ArgumentError — W sytuacji gdy parametry width lub height nie są liczbą (Number.NaN).

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje możliwość rysowania kształtów w języku ActionScript 3.0. Przykład pochodzi z witryny ActionScriptExamples.com.
var movieClip:MovieClip = new MovieClip();
movieClip.graphics.beginFill(0xFF0000);
movieClip.graphics.drawRect(0, 0, 100, 80);
movieClip.graphics.endFill();
movieClip.x = 10;
movieClip.y = 10;
addChild(movieClip);

drawRoundRect

()metoda 
public function drawRoundRect(x:Number, y:Number, width:Number, height:Number, ellipseWidth:Number, ellipseHeight:Number = NaN):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Rysuje zaokrąglony prostokąt. Należy ustawić styl linii, wypełnienie lub obie te właściwości przed wywołaniem metody drawRoundRect(), poprzez wywołanie metody linestyle(), lineGradientStyle(), beginFill(), beginGradientFill() lub beginBitmapFill().

Parametry

x:Number — Liczba wskazująca pozycję poziomą względem punktu rejestracji macierzystego obiektu wyświetlania (w pikselach).
 
y:Number — Liczba wskazująca pozycję pionową względem punktu rejestracji nadrzędnego obiektu wyświetlanego (w pikselach).
 
width:Number — Szerokość zaokrąglonego prostokąta (w pikselach).
 
height:Number — Wysokość zaokrąglonego prostokąta (w pikselach).
 
ellipseWidth:Number — Szerokość elipsy wykorzystywanej przy rysowaniu zaokrąglonych narożników (w pikselach).
 
ellipseHeight:Number (default = NaN) — Wysokość elipsy wykorzystywanej przy rysowaniu zaokrąglonych narożników (w pikselach). Opcjonalnie; w sytuacji gdy nie określona została żadna wartość, wówczas wartość domyślna odpowiada wartości dostarczonej dla parametru ellipseWidth.


Zgłasza
ArgumentError — W sytuacji gdy parametry width, height, ellipseWidth lub ellipseHeight nie są liczbą (Number.NaN).

Powiązane elementy interfejsu API


Przykład
Sposób korzystania z tego przykładu
Sposób zastosowania tej metody został przedstawiony na końcu tej klasy w sekcji example.

drawTriangles

()metoda 
public function drawTriangles(vertices:Vector.<Number>, indices:Vector.<int> = null, uvtData:Vector.<Number> = null, culling:String = "none"):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10, AIR 1.5

Renderuje zbiór trójkątów, zwykle w celu odkształcenia bitmap i nadania im wyglądu trójwymiarowego. Metoda drawTriangles() odwzorowuje bieżące wypełnienie lub wypełnienie bitmapy na powierzchnie trójkątów, stosując zestaw współrzędnych (u,v).

Można użyć dowolnego typu wypełnienia, ale jeśli wypełnienie ma macierz transformacji, jest ona ignorowana.

Parametr uvtData poprawia odwzorowywanie tekstury, gdy używane jest wypełnienie bitmapy.

Parametry

vertices:Vector.<Number> — Wektor wartości liczbowych, w którym każda para liczb jest traktowana jako para współrzędnych (para x, y). Parametr vertices jest wymagany.
 
indices:Vector.<int> (default = null) — Wektor liczb całkowitych lub indeksów, w którym każde trzy indeksy definiują trójkąt. Jeśli parametr indexes jest równy null, wówczas każde trzy wierzchołki (sześć par x,y w wektorze vertices) definiują trójkąt. W przeciwnym wypadku każdy indeks odwołuje się do wierzchołka, który jest parą liczb w wektorze vertices. Przykład: indexes[1] odwołuje się do (vertices[2], vertices[3]). Parametr indexes jest opcjonalny, ale zwykle przyczynia się on do zmniejszenia ilości wprowadzanych danych oraz ilości obliczanych danych.
 
uvtData:Vector.<Number> (default = null) — Wektor znormalizowanych współrzędnych używanych do zastosowania odwzorowania tekstury. Każda współrzędna odnosi się do punktu na bitmapie używanego dla wypełnienia. Dla każdego wierzchołka musi istnieć jedna współrzędna UV lub jedna współrzędna UVT. W przypadku współrzędnych UV (0,0) jest lewym górnym narożnikiem bitmapy, a (1,1) jest prawym dolnym narożnikiem bitmapy.

Jeśli długość tego wektora jest dwukrotnie większa od długości wektora vertices, wówczas współrzędne znormalizowane będą używane bez korygowania perspektywy.

Jeśli długość tego wektora jest trzykrotnie większa niż długość wektora vertices, wówczas trzecia współrzędna jest interpretowana jako „t” — odległość od oka do tekstury w przestrzeni oka). Dzięki temu mechanizm renderowania może poprawnie stosować perspektywę podczas odwzorowywania tekstur w trzech wymiarach.

Jeśli parametr uvtData ma wartość null, wówczas będą miały zastosowanie normalne reguły wypełniania (przy dowolnym typie wypełnienia).

 
culling:String (default = "none") — Określa, czy renderowane są trójkąty, które są skierowane w określonym kierunku. Ten parametr zapobiega renderowaniu trójkątów, które nie mogą być widoczne w bieżącym widoku. Dla tego parametru można ustawić dowolną wartość zdefiniowaną przez klasę TriangleCulling.

Powiązane elementy interfejsu API

endFill

()metoda 
public function endFill():void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Stosuje wypełnienie linii oraz krzywych, które zostały dodane od momentu ostatniego wywołania metod beginFill()beginGradientFill()beginBitmapFill(). Aplikacja Flash stosuje wypełnienie, które zostało określone przy poprzednim wywołaniu metod beginFill(), beginGradientFill(), beginBitmapFill(). W sytuacji, gdy obecna pozycja rysowania nie jest równa poprzedniej pozycji określonej w metodzie moveTo() oraz zdefiniowane jest wypełnienie, wówczas ścieżka jest zamknięta linią a następnie wypełniana.

Powiązane elementy interfejsu API

lineBitmapStyle

()metoda 
public function lineBitmapStyle(bitmap:BitmapData, matrix:Matrix = null, repeat:Boolean = true, smooth:Boolean = false):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10, AIR 1.5

Określa bitmapę, jaka będzie używana dla obrysu podczas rysowania linii.

Styl linii bitmapy będzie używany dla kolejnych wywołań metod Graphics, takich jak lineTo() lub drawCircle(). Styl linii będzie obowiązywał do czasu wywołania metod lineStyle() lub lineGradientStyle() albo ponownego wywołania metody lineBitmapStyle() z innymi parametrami.

Metodę lineBitmapStyle() można wywołać w trakcie rysowania ścieżki w celu określenia innych stylów dla różnych segmentów linii w ścieżce.

Aby aktywować obrys, należy wywołać metodę lineStyle() przed wywołaniem metody lineBitmapStyle() — w przeciwnym wypadku styl linii będzie następujący: undefined.

Wywołania metody clear() powodują ponowne ustawienie stylu linii: undefined.

Parametry

bitmap:BitmapData — Bitmapa, jaka będzie używana dla obrysu linii.
 
matrix:Matrix (default = null) — Opcjonalna macierz transformacji zdefiniowana przez klasę flash.geom.Matrix. Macierz może być używana w celu skalowania lub innego manipulowania bitmapą przed zastosowaniem jej do stylu linii.
 
repeat:Boolean (default = true) — Określa, czy bitmapa będzie powtarzana we wzorze mozaikowym.
 
smooth:Boolean (default = false) — Określa, czy do bitmapy będzie stosowane wygładzanie.

Powiązane elementy interfejsu API

lineGradientStyle

()metoda 
public function lineGradientStyle(type:String, colors:Array, alphas:Array, ratios:Array, matrix:Matrix = null, spreadMethod:String = "pad", interpolationMethod:String = "rgb", focalPointRatio:Number = 0):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Określa gradient, jaki będzie używany dla obrysu podczas rysowania linii.

Styl linii gradientowej będzie używany dla kolejnych wywołań metod Graphics, takich jak lineTo() lub drawCircle(). Linia będzie obowiązywała do czasu wywołania metod lineStyle() lub lineBitmapStyle(), albo ponownie metody lineGradientStyle() z innymi parametrami.

Możliwe jest wywołanie metody lineGradientStyle() w trakcie rysowania ścieżki w celu określenia różnych stylów dla odrębnych segmentów linii w ścieżce.

Aby aktywować obrys, należy wywołać metodę lineStyle() przed wywołaniem metody lineGradientStyle() — w przeciwnym wypadku styl linii będzie następujący: undefined.

Wywołania metody clear() powodują ponowne ustawienie stylu linii: undefined.

Parametry

type:String — Wartość z klasy GradientType określająca, który z typów gradientu należy zastosować — GradientType.LINEAR czy też GradientType.RADIAL.
 
colors:Array — Tablica wartości kolorów RGB w formacie szesnastkowym do wykorzystania w gradiencie (na przykład czerwony to 0xFF0000, niebieski to 0x0000FF itd.).
 
alphas:Array — Tablica wartości alpha dla odpowiednich kolorów w tablicy kolorów; wartości prawidłowe są w zakresie od 0 do 1. Jeżeli wartość wynosi mniej niż 0, wówczas wartość domyślna wynosi 0. Jeżeli wartość wynosi więcej niż 1, wówczas wartość domyślna wynosi 1.
 
ratios:Array — Tablica proporcji dystrybucji kolorów; wartości prawidłowe są w zakresie od 0 do 255. Ta wartość definiuje procent szerokości, w której kolor jest próbkowany w 100%. Wartość 0 reprezentuje położenie po lewej stronie pola gradientu, zaś wartość 255 reprezentuje położenie po prawej stronie pola gradientu. Ta wartość reprezentuje położenia w polu gradientu, a nie współrzędne w układzie współrzędnych końcowego gradientu, który może być szerszy lub cieńszy od pola gradientu. Należy określić wartość dla każdej wartości parametru colors.

Przykładowo dla gradientu liniowego, który zawiera dwa kolory (niebieski i zielony), poniższa figura ilustruje umiejscowienie kolorów w formie gradientowej według wartości innych niż znajdujące się w tablicy ratios:

ratiosGradient
[0, 127]gradient liniowy niebieskiego do zielonego w proporcjach 0 i 127
[0, 255]gradient liniowy niebieskiego do zielonego w proporcjach 0 i 255
[127, 255]gradient liniowy niebieskiego do zielonego w proporcjach 127 i 255

Wartości w tablicy muszą zwiększać się w sekwencji; przykładowo: [0, 63, 127, 190, 255].

 
matrix:Matrix (default = null) — Matryca transformacyjna jest zdefiniowana przez klasę flash.geom.Matrix. Klasa flash.geom.Matrix zawiera metodę createGradientBox(), która pozwala na wygodne ustawienie matrycy do użycia z metodą lineGradientStyle().
 
spreadMethod:String (default = "pad") — Wartość z klasy SpreadMethod, określająca którą z metod należy zastosować:

gradient liniowy z metodą SpreadMethod.PADgradient liniowy z metodą SpreadMethod.REFLECTgradient liniowy z metodą SpreadMethod.REPEAT
SpreadMethod.PADSpreadMethod.REFLECTSpreadMethod.REPEAT

 
interpolationMethod:String (default = "rgb") — Wartość z klasy InterpolationMethod, określająca którą z wartości należy zastosować. Przykładowo biorąc pod uwagę prosty gradient liniowy między dwoma barwami (przy parametrze spreadMethod ustawionym na wartość SpreadMethod.REFLECT). Różne metody interpolacji wpływają na wygląd w następujący sposób:

gradient liniowy z metodą InterpolationMethod.LINEAR_RGBgradient liniowy z metodą InterpolationMethod.RGB
InterpolationMethod.LINEAR_RGBInterpolationMethod.RGB

 
focalPointRatio:Number (default = 0) — Liczba kontrolująca położenie ogniskowej gradientu. Wartość równa 0 oznacza, że ogniskowa znajduje się po środku. Wartość równa 1 oznacza, że ogniskowa znajduje się na jednej z granic okręgu gradientu. Wartość równa -1 oznacza, że ogniskowa znajduje się na drugiej z granic okręgu gradientu. Wartości mniejsze niż -1 lub większe niż 1 są zaokrąglane do -1 lub 1. Poniższy obraz przedstawia gradient z właściwością focalPointRatio o wartości -0,75:

gradient radialny z właściwością focalPointRatio ustawioną na wartość 0,75

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje rysowanie prostokąta oraz okręgu, w których zastosowany jest gradient obrysu od czerwonego do zielonego do niebieskiego.

Metoda createGradientBox() z klasy Matrix jest wykorzystywana do definiowania pola gradientu na szerokość 200 i wysokość 40. Grubość linii jest ustawiona na 5 pikseli. Grubość obrysu musi zostać zdefiniowana dla metody lineGradientStyle(). Gradient jest ustawiony na liniowy. Kolory dla gradientu są ustawione na: czerwony, zielony i niebieski. Przezroczystość (wartość alpha) dla kolorów jest ustawiona na 1 (nieprzezroczysty). Dystrybucja gradientu jest równa, gdzie kolory są próbkowane na 100% przy wartości 0 (po lewej stronie okna pola gradientu), 128 (środek pola) oraz 255 (po prawej stronie pola). Szerokość prostokąta opasa cały zakres gradientu, natomiast okrąg opasa 50% od środka zakresu.

package {
    import flash.display.Sprite;
    import flash.display.Shape;
    import flash.geom.Matrix; 
    import flash.display.GradientType;
    
    public class Graphics_lineGradientStyleExample extends Sprite
    {
        public function Graphics_lineGradientStyleExample()
        {
            var myShape:Shape = new Shape();
            var gradientBoxMatrix:Matrix = new Matrix();
  
            gradientBoxMatrix.createGradientBox(200, 40, 0, 0, 0);  
            
            myShape.graphics.lineStyle(5);
  
            myShape.graphics.lineGradientStyle(GradientType.LINEAR, [0xFF0000,
            0x00FF00, 0x0000FF], [1, 1, 1], [0, 128, 255], gradientBoxMatrix);
            
            myShape.graphics.drawRect(0, 0, 200, 40);
            myShape.graphics.drawCircle(100, 120, 50);  
             
            this.addChild(myShape);
    
        }
    }
}

lineShaderStyle

()metoda 
public function lineShaderStyle(shader:Shader, matrix:Matrix = null):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10, AIR 1.5

Określa moduł cieniujący, jaki będzie używany dla obrysu podczas rysowania linii.

Styl linii modułu cieniującego będzie używany dla kolejnych wywołań metod Graphics, takich jak lineTo() lub drawCircle(). Styl linii będzie obowiązywał do czasu wywołania metod lineStyle() lub lineGradientStyle(), albo ponownie metody lineBitmapStyle() z innymi parametrami.

Metodę lineShaderStyle() można wywołać w trakcie rysowania ścieżki w celu określenia innych stylów dla różnych segmentów linii w ścieżce.

Aby aktywować obrys, należy wywołać metodę lineStyle() przed wywołaniem metody lineShaderStyle() — w przeciwnym wypadku styl linii będzie następujący: undefined.

Wywołania metody clear() powodują ponowne ustawienie stylu linii: undefined.

Parametry

shader:Shader — Moduł cieniujący, jaki będzie używany dla obrysu.
 
matrix:Matrix (default = null) — Opcjonalna macierz transformacji zdefiniowana przez klasę flash.geom.Matrix. Macierz może być używana w celu skalowania lub innego manipulowania bitmapą przed zastosowaniem jej do stylu linii.

Powiązane elementy interfejsu API

lineStyle

()metoda 
public function lineStyle(thickness:Number = NaN, color:uint = 0, alpha:Number = 1.0, pixelHinting:Boolean = false, scaleMode:String = "normal", caps:String = null, joints:String = null, miterLimit:Number = 3):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Określa styl linii, jaki będzie używany dla kolejnych wywołań metod Graphics, takich jak lineTo() lub drawCircle(). Styl linii będzie obowiązywał do czasu wywołania metody lineGradientStyle(), metodylineBitmapStyle() lub metody lineStyle() z innymi parametrami.

Metodę lineStyle() można wywołać w trakcie rysowania ścieżki w celu określenia innych stylów dla różnych segmentów linii w ścieżce.

Uwaga: Wywołania metody clear() ustawiają styl linii na z powrotem na wartość undefined.

Uwaga: Program Flash Lite 4 obsługuje jedynie trzy pierwsze parametry (thickness, color oraz alpha).

Parametry

thickness:Number (default = NaN) — Wartość całkowita wskazująca grubość linii w punktach; wartości prawidłowe należą do zakresu od 0 do 255. W przypadku braku określenia liczby, lub gdy parametr nie jest zdefiniowany, wówczas linia nie jest rysowana. Jeżeli wartość mniejsza niż 0 jest przekazywana, wówczas wartość domyślna wynosi 0. Wartość 0 wskazuje grubość cienkiej linii; grubość maksymalna wynosi 255. Jeżeli wartość większa niż 255 jest przekazywana, wówczas wartość domyślna wynosi 255.
 
color:uint (default = 0) — Wartość szesnastkowa koloru linii; na przykład: czerwony to 0xFF0000, niebieski to 0x0000FF itd. Jeżeli wartość nie jest wskazana, wówczas wartość domyślna to 0x000000 (czarny). Opcjonalnie.
 
alpha:Number (default = 1.0) — Wartość wskazująca wartość alpha koloru linii; wartości prawidłowe należą do zakresu od 0 do 1. Jeżeli wartość nie jest wskazana, wówczas wartość domyślna to 1 (jednolita). Jeżeli wartość wynosi mniej niż 0, wówczas wartość domyślna wynosi 0. Jeżeli wartość wynosi więcej niż 1, wówczas wartość domyślna wynosi 1.
 
pixelHinting:Boolean (default = false) — (Brak obsługi w programie Flash Lite 4) Wartość typu Boolean określająca, czy obrysy są przyciągane do pełnych pikseli. Ma to wpływ na położenie kotwic krzywej oraz sam rozmiar linii obrysu. Gdy właściwość pixelHinting ma wartość true, szerokości linii są dopasowywane do pełnych wielokrotności pikseli. Przy właściwości pixelHinting ustawionej na wartość false mogą pojawić się przerwy na krzywych lub liniach prostych. Na przykład poniższe ilustracje przedstawiają sposób, w jaki program Flash Player lub środowisko AIR renderuje dwa zaokrąglone prostokąty, które są identyczne, ale parametr pixelHinting używany w metodzie lineStyle() jest ustawiony inaczej (obrazy zostały wyskalowane o 200%, w celu uwypuklenia różnic):

właściwość pixelHinting ustawiona na wartość false oraz wartość true

Jeżeli wartość nie jest podana, wówczas przy rysowaniu linii nie jest stosowane przyciąganie do pikseli.

 
scaleMode:String (default = "normal") — (Brak obsługi w programie Flash Lite 4) Wartość z klasy LineScaleMode określająca używany tryb skalowania:
  • LineScaleMode.NORMAL—Zawsze będzie skalowana grubość linii gdy obiekt jest skalowany (domyślnie).
  • LineScaleMode.NONE—Nigdy nie będzie skalowana grubość linii.
  • LineScaleMode.VERTICAL—Nie będzie skalowana grubość linii, gdy obiekt jest skalowany wyłącznie pionowo. Można na przykład przeanalizować poniższe okręgi narysowane linią o grubości jednego piksela i w każdym przypadku z parametrem scaleMode ustawionym na wartość LineScaleMode.VERTICAL. Okrąg po lewej stronie jest skalowany wyłącznie pionowo, zaś okrąg po prawej stronie jest skalowany zarówno pionowo jak i poziomo:

    Okrąg wyskalowany w pionie oraz okrąg wyskalowany w pionie i w poziomie.

  • LineScaleMode.HORIZONTAL—Nie będzie skalowana grubość linii, gdy obiekt jest skalowany wyłącznie poziomo. Przykładowo biorąc pod uwagę poniższe okręgi narysowane linią o grubości jednego piksela i w każdym przypadku z parametrem scaleMode ustawionym na wartość LineScaleMode.HORIZONTAL. Okrąg po lewej stronie jest skalowany wyłącznie poziomo, zaś okrąg po prawej stronie jest skalowany zarówno pionowo jak i poziomo:

    Okrąg wyskalowany w poziomie oraz okrąg wyskalowany w pionie i w poziomie.

 
caps:String (default = null) — (Brak obsługi w programie Flash Lite 4) Wartość z klasy CapsStyle określająca typ zakończeń linii. Wartości prawidłowe to: CapsStyle.NONE,CapsStyle.ROUND oraz CapsStyle.SQUARE. Jeżeli wartość nie jest wskazana, aplikacja Flash stosuje zakończenia zaokrąglone.

Na przykład poniższe ilustracje ukazują różne ustawienia właściwości capsStyle. Na ilustracji przedstawiono wygląd niebieskiej linii o grubości 30 (z zastosowaną właściwością capsStyle) dla poszczególnych ustawień oraz nałożoną czarną linię grubości 1 (względem której właściwość capsStyle nie jest stosowana):

NONE, ROUND i SQUARE

 
joints:String (default = null) — (Brak obsługi w programie Flash Lite 4) Wartość z klasy JointStyle określająca typ wyglądu połączenia stosowanego na połączeniach pod kątem. Wartości prawidłowe to: JointStyle.BEVEL, JointStyle.MITER i JointStyle.ROUND. Jeżeli wartość nie jest wskazana, aplikacja Flash stosuje połączenia zaokrąglone.

Na przykład poniższe ilustracje ukazują różne ustawienia właściwości joints. Na ilustracji przedstawiono wygląd łamanej niebieskiej linii o grubości 30 (z zastosowaną właściwością jointStyle) dla poszczególnych ustawień oraz nałożoną czarną linię grubości 1(względem której właściwość jointStyle nie jest stosowana):

MITER, ROUND i BEVEL

Uwaga: Dla właściwości jointsustawionej na wartość JointStyle.MITER, możliwe jest zastosowanie parametru miterLimit w celu ograniczenia długości ścięcia.

 
miterLimit:Number (default = 3) — (Brak obsługi w programie Flash Lite 4) Liczba określa ograniczenie, przy którym jest obcinane ścięcie. Wartości prawidłowe znajdują się w granicach od 1 do 255 (wartości poza tymi granicami są zaokrąglane do 1 lub 255). Wartość ta jest stosowana tylko w przypadku ustawienia właściwości jointStyle na wartość "miter". Wartość miterLimit przedstawia długość na którą ścięcie może wystawać poza punkt, w którym linie spotykają się i tworzą połączenie. Wartość wyraża współczynnik thickness linii. Przykładowo z współczynnikiem miterLimit wartości 2.5 oraz właściwością thickness o wartości 10 pikseli, ścięcie jest ucinane na 25 pikselach.

Można na przykład przeanalizować poniższe linie pod kątem, każdy narysowany przy właściwości thickness o wartości 20, ale przy właściwościmiterLimit ustawionej na 1, 2 i 4. Nałożone zostały czarne linie odwołania, ukazujące punkty spotkania połączeń:

linie z właściwością miterLimit, ustawioną na wartość 1,2 i 4

Należy zauważyć, iż podana wartość właściwości miterLimit ma określony kąt maksymalny, przy którym ścięcie jest obcinane. Poniższa tabela przedstawia listę niektórych przykładów:

wartość właściwości miterLimit:Obcięciu ulegają kąty mniejsze niż:
1.41490 stopni
260 stopni
430 stopni
815 stopni

Powiązane elementy interfejsu API


Przykład
Sposób korzystania z tego przykładu
Proszę spojrzeć na przykłady metody lineTo() lub moveTo() w celu przyjrzenia się ilustracjom ukazującym sposób wykorzystania metody getStyle().

lineTo

()metoda 
public function lineTo(x:Number, y:Number):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Rysuje linię przy wykorzystaniu obecnego stylu linii z obecnej pozycji rysowania do (x, y); wówczas obecna pozycja rysowania jest ustawiana na (x,y). W przypadku, gdy obiekt wyświetlania w którym przeprowadzane jest rysowanie posiada zawartość, która została utworzona przy pomocy narzędzi rysowania aplikacji Flash, wówczas wywołania metody lineTo() są rysowane pod zawartością. W sytuacji gdy zostanie wywołana metoda lineTo() przed wywołaniami metody moveTo(), wówczas domyślną pozycją obecnego rysowania jest (0, 0). Jeżeli brakuje któregoś z parametrów, ta metoda kończy działanie niepowodzeniem, zaś obecna pozycja rysowania nie ulega zmianie.

Parametry

x:Number — Liczba wskazująca pozycję poziomą względem punktu rejestracji nadrzędnego obiektu wyświetlanego (w pikselach).
 
y:Number — Liczba wskazująca pozycję pionową względem punktu rejestracji nadrzędnego obiektu wyświetlanego (w pikselach).


Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje sposób rysowania zniekształcenia trapezowego przy wykorzystaniu metody lineTo(), rozpoczynając na pikselach (100, 100).

Grubość linii jest ustawiona na 10 pikseli, ustawiony kolor złoty i nieprzezroczysty, brak ustawień zakończeń linii (ponieważ wszystkie linie są połączone), zaś połączenie między liniami jest ustawione na wartość MITER, przy czym ograniczenie ścięcia wynosi 10, aby kąty były zaostrzone.

package {
    import flash.display.Sprite;
    import flash.display.LineScaleMode;
    import flash.display.CapsStyle;
    import flash.display.JointStyle;
    import flash.display.Shape;


    public class Graphics_lineToExample extends Sprite {

        public function Graphics_lineToExample() {

            var trapezoid:Shape = new Shape();    

            trapezoid.graphics.lineStyle(10, 0xFFD700, 1, false, LineScaleMode.VERTICAL,
                               CapsStyle.NONE, JointStyle.MITER, 10);

            trapezoid.graphics.moveTo(100, 100);
 
            trapezoid.graphics.lineTo(120, 50);
            trapezoid.graphics.lineTo(200, 50);
            trapezoid.graphics.lineTo(220, 100);
            trapezoid.graphics.lineTo(100, 100); 

            this.addChild(trapezoid);
        }
    }
}

moveTo

()metoda 
public function moveTo(x:Number, y:Number):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Przenosi obecną pozycję rysowania na: (x,y). Jeżeli brakuje któregoś z parametrów, ta metoda kończy działanie niepowodzeniem, zaś obecna pozycja rysowania nie ulega zmianie.

Parametry

x:Number — Liczba wskazująca pozycję poziomą względem punktu rejestracji nadrzędnego obiektu wyświetlanego (w pikselach).
 
y:Number — Liczba wskazująca pozycję pionową względem punktu rejestracji nadrzędnego obiektu wyświetlanego (w pikselach).


Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje sposób rysowania linii przerywanej o grubości trzech pikseli przy zastosowaniu metod moveTo() oraz lineTo().

Przy zastosowaniu metody lineStyle() grubość linii jest ustawiona na 3 piksele. Jest również ustawiona na brak skalowania. Ustawiony jest kolor czerwony z 25 procentowym kryciem. Właściwość CapsStyle jest ustawiona na kwadrat (domyślna wartość to okrąg).

Ponieważ instancja Graphics_moveToExample należy do klasy Sprite, ma ona dostęp do wszystkich metod klasy Graphics. Metody klasy Graphics mogą być wykorzystywane do bezpośredniego rysowania na obiekcie Sprite Graphic_moveToExample. Przy czym brak ustawienia obiektu rysującego wektor w obiekcie Shape ogranicza możliwości ich zarządzania, przenoszenia lub zmieniania.

package {
    import flash.display.Sprite;
    import flash.display.CapsStyle;
    import flash.display.LineScaleMode;

    public class Graphics_moveToExample extends Sprite
    {
        public function Graphics_moveToExample() {
            
            graphics.lineStyle(3, 0x990000, 0.25, false, 
                            LineScaleMode.NONE, CapsStyle.SQUARE);

            graphics.moveTo(10, 20);
            graphics.lineTo(20, 20);
            graphics.moveTo(30, 20);
            graphics.lineTo(50, 20);
            graphics.moveTo(60, 20);
            graphics.lineTo(80, 20);
            graphics.moveTo(90, 20);
            graphics.lineTo(110, 20);            
            graphics.moveTo(120, 20);
            graphics.lineTo(130, 20);           
        }
    }
}

readGraphicsData

()metoda 
public function readGraphicsData(recurse:Boolean = true):Vector.<IGraphicsData>

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 11.6, AIR 3.6

Pobiera zawartość grafiki wektorowej obiektu Sprite lub Shape (opcjonalnie jego elementów potomnych). Wynikiem jest wektor obiektów IGraphicsData. Przed zapytaniem do obiektów ekranowych są stosowane przekształcenia, dzięki czemu wszystkie zwracane ścieżki znajdują się w tej samej przestrzeni współrzędnych. Współrzędne w wynikowym zestawie danych są podane względem stołu montażowego, a nie próbkowanego obiektu ekranowego.

Wynik zawiera obiekty następujących typów z wymienionymi ograniczeniami:

  • GraphicsSolidFill
  • GraphicsGradientFill
    • Metoda readGraphicsData() zwraca wszystkie właściwości wypełnienia gradientem.
    • Zwracana macierz jest zbliżona do macierzy wejściowej, ale nie jest taka sama.
  • GraphicsEndFill
  • GraphicsBitmapFill
    • Zwracana macierz jest zbliżona do macierzy wejściowej, ale nie jest taka sama.
    • Właściwość repeat zawsze ma wartość true.
    • Właściwość smooth zawsze ma wartość false.
  • GraphicsStroke
    • Jest obsługiwana właściwość thickness.
    • Właściwość fill obsługuje wartości GraphicsSolidFill, GraphicsGradientFill i GraphicsBitmapFill zgodnie z opisem powyżej.
    • Wszystkie pozostałe właściwości mają wartości domyślne.
  • GraphicsPath
    • Są obsługiwane tylko polecenia MOVE_TO, CURVE_TO i LINE_TO.

Wynik nie zawiera następujących elementów wizualnych i przekształceń, gdyż nie można ich odwzorować:

  • Maski
  • Tekst z wyjątkiem tekstu statycznego zdefiniowanego z opcją „Wygładź dla animacji”, który jest renderowany jako kształty wektorowe i zawarty w wyniku.
  • Wypełnienia z cieniowaniem
  • Tryby mieszania
  • Skalowanie z podziałem na obszary
  • Trójkąty (utworzone przy użyciu metody drawTriangles())
  • Nieprzezroczyste tło
  • Ustawienia scrollrect
  • Przekształcenia 2,5D
  • Niewidoczne obiekty (z właściwością visible o wartości false)

Parametry

recurse:Boolean (default = true) — Określa, czy środowisko wykonawcze powinno sprawdzać potomne obiekty ekranowe bieżącego obiektu ekranowego. Wykonanie zapytania rekurencyjnego może trwać dłużej i wymagać dodatkowej pamięci. Zwracany jest pojedynczy, spłaszczony zestaw wyników bez podziału na obiekty ekranowe.

Zwraca
Vector.<IGraphicsData> — Wektor obiektów IGraphicsData reprezentujących zawartość grafiki wektorowej powiązanego z nimi obiektu ekranowego.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje pobieranie zawartości grafiki wektorowej obiektu ekranowego za pomocą metody readGraphicsData(). Następnie kod ponownie rysuje tę zawartość w innym obiekcie na stole montażowym, gdy użytkownik klika stół montażowy.

Choć oryginalna zawartość wektorowa jest rysowana przy użyciu metody drawGraphicsData(), dane uzyskane przy użyciu metody readGraphicsData() nie są dokładnie takie same jak dane przekazane do metody drawGraphicsData(). Dane wynikowe zawierają na przykład polecenia GraphicsSolidFill i GraphicsEndFill. Oryginalne dane grafiki tylko implikują użycie tych poleceń — nie zawierają ich bezpośrednio.

package
{
    import flash.display.GraphicsPathCommand;
    import flash.display.IGraphicsData;
    import flash.display.Shape;
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    
    public class ReadGraphicsDataExample extends Sprite
    {
        private var original:Shape;
        private var copy:Shape;
        
        public function ReadGraphicsDataExample()
        {
            original = new Shape();
            original.x = 50;
            original.y = 100;
            addChild(original);
            
            drawSquare();
            
            copy = new Shape();
            copy.x = 250;
            copy.y = 100;
            addChild(copy);
            
            stage.addEventListener(MouseEvent.CLICK, drawCopyOnClick);
        }
        
        private function drawCopyOnClick(event:MouseEvent):void
        {
            // reset
            copy.graphics.clear();
            
            // Sample the vector data. Move the original to 0,0
            // before sampling so that the coordinates match the 
            // relative coordinates of the original.
            var xPos:Number = original.x;
            var yPos:Number = original.y;
            original.x = 0;
            original.y = 0;
            var result:Vector.<IGraphicsData> = original.graphics.readGraphicsData(false);
            original.x = xPos;
            original.y = yPos;
            
            // re-draw
            copy.graphics.drawGraphicsData(result);
        }
        
        private function drawSquare():void
        {
            var squareCommands:Vector.<int> = new Vector.<int>(5, true);
            
            squareCommands[0] = GraphicsPathCommand.MOVE_TO;
            squareCommands[1] = GraphicsPathCommand.LINE_TO;
            squareCommands[2] = GraphicsPathCommand.LINE_TO;
            squareCommands[3] = GraphicsPathCommand.LINE_TO;
            
            var squareCoordinates:Vector.<Number> = new Vector.<Number>(8, true);
            squareCoordinates[0] = 0;
            squareCoordinates[1] = 0; 
            squareCoordinates[2] = 50; 
            squareCoordinates[3] = 0; 
            squareCoordinates[4] = 50; 
            squareCoordinates[5] = 50; 
            squareCoordinates[6] = 0; 
            squareCoordinates[7] = 50; 
            
            original.graphics.beginFill(0x003366);
            original.graphics.drawPath(squareCommands, squareCoordinates);
        }
    }
}
GraphicsExample.as

Poniższy przykład ilustruje sposób wykorzystania klasy GraphicsExample do narysowania okręgu, zaokrąglonego prostokąta oraz kwadratu. Zadanie to jest przeprowadzane poprzez wykorzystanie następujących kroków:
  1. Deklaruje właściwość size do późniejszego użytku przy określaniu rozmiaru każdej figury.
  2. Należy zadeklarować właściwości w celu ustawienia tła na kolor pomarańczowy, barwę obramowania na kolor szary, rozmiar obramowania na 0 pikseli, promień kąta na 9 pikseli oraz ustawić przestrzeń pomiędzy krawędzią stołu montażowego i innych obiektów na 5 pikseli.
  3. Należy wykorzystać właściwości zadeklarowane w poprzednich krokach wraz z wbudowanymi metodami klasy Graphics w celu narysowania okręgu, zaokrąglonego prostokąta oraz kwadratu na współrzędnych x = 0, y = 0.
  4. Narysuj ponownie figury wzdłuż górnej części stołu montażowego, rozpoczynając na współrzędnych x = 5, y = 5, przy 5-pikselowej przerwie między figurami.
package {
    import flash.display.DisplayObject;
    import flash.display.Graphics;
    import flash.display.Shape;
    import flash.display.Sprite;

    public class GraphicsExample extends Sprite {
        private var size:uint         = 80;
        private var bgColor:uint      = 0xFFCC00;
        private var borderColor:uint  = 0x666666;
        private var borderSize:uint   = 0;
        private var cornerRadius:uint = 9;
        private var gutter:uint       = 5;

        public function GraphicsExample() {
            doDrawCircle();
            doDrawRoundRect();
            doDrawRect();
            refreshLayout();
        }

        private function refreshLayout():void {
            var ln:uint = numChildren;
            var child:DisplayObject;
            var lastChild:DisplayObject = getChildAt(0);
            lastChild.x = gutter;
            lastChild.y = gutter;
            for (var i:uint = 1; i < ln; i++) {
                child = getChildAt(i);
                child.x = gutter + lastChild.x + lastChild.width;
                child.y = gutter;
                lastChild = child;
            }
        }

        private function doDrawCircle():void {
            var child:Shape = new Shape();
            var halfSize:uint = Math.round(size / 2);
            child.graphics.beginFill(bgColor);
            child.graphics.lineStyle(borderSize, borderColor);
            child.graphics.drawCircle(halfSize, halfSize, halfSize);
            child.graphics.endFill();
            addChild(child);
        }

        private function doDrawRoundRect():void {
            var child:Shape = new Shape();
            child.graphics.beginFill(bgColor);
            child.graphics.lineStyle(borderSize, borderColor);
            child.graphics.drawRoundRect(0, 0, size, size, cornerRadius);
            child.graphics.endFill();
            addChild(child);
        }

        private function doDrawRect():void {
            var child:Shape = new Shape();
            child.graphics.beginFill(bgColor);
            child.graphics.lineStyle(borderSize, borderColor);
            child.graphics.drawRect(0, 0, size, size);
            child.graphics.endFill();
            addChild(child);
        }
    }
}




[ X ]Dlaczego język angielski?
Treść dokumentacji języka ActionScript 3.0 wyświetlana w języku angielskim

Niektóre części dokumentacji języka ActionScript 3.0 nie są przetłumaczone na poszczególne języki. Gdy element nie jest przetłumaczony na dany język, jest wyświetlany tekst angielski. Na przykład opis klasy ga.controls.HelpBox nie jest przetłumaczony na żaden dodatkowy język. Z tego powodu polska wersja dokumentacji zawiera opis klasy ga.controls.HelpBox w języku angielskim.