Справочник по ActionScript® 3.0 для платформы Adobe® Flash®
Домашняя страница  |  Скрыть список пакетов и классов |  Пакеты  |  Классы  |  Что нового  |  Указатель  |  Приложения  |  Почему по-английски?
Фильтры: AIR 30.0 или более ранней версии, Flash Player 30.0 или более ранней версии, Flash Lite 4
Flex 4.6 или более ранней версии, Flash Pro CS6 или более ранней версии
Скрыть фильтры
flash.display 

Graphics  - AS3

Пакетыx

Верхний уровень
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

Элементы языка

Глобальные константы
Глобальные функции
Операторы
Инструкции, ключевые слова и директивы
Специальные типы

Приложения

Новые возможности
Ошибки компилятора
Предупреждения компилятора
Ошибки времени выполнения
Миграция ActionScript 3
Поддерживаемые наборы символов
Только MXML
Элементы движения XML
Теги Timed Text
устаревший_индекс
Константы реализации специальных возможностей
Использование примеров
Юридическая информация
Пакетflash.display
Классpublic final class Graphics
НаследованиеGraphics Inheritance Object

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Класс Graphics содержит набор методов, с помощью которых можно создавать векторные фигуры. К числу объектов отображения, поддерживающих возможности рисования, относятся объекты Sprite и Shape. Каждый из этих классов включает свойство graphics, являющееся объектом Graphics. Далее перечислены вспомогательные функции, обеспечивающие простоту использования: drawRect(), drawRoundRect(), drawCircle() и drawEllipse().

Нельзя создать объект Graphics непосредственно из кода ActionScript. Можно вызвать функцию new Graphics() для создания исключения.

Класс Graphics является конечным, его нельзя разбить на подклассы.

Посмотреть примеры



Общедоступные свойства
 СвойствоОпределено
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
Общедоступные методы
 МетодОпределено
  
beginBitmapFill(bitmap:BitmapData, matrix:Matrix = null, repeat:Boolean = true, smooth:Boolean = false):void
Заполняет область рисунка растровым изображением.
Graphics
  
beginFill(color:uint, alpha:Number = 1.0):void
Задает простую заливку сплошным цветом для использования при последующих вызовах других методов объекта Graphics (например, lineTo() или drawCircle()) при рисовании.
Graphics
  
beginGradientFill(type:String, colors:Array, alphas:Array, ratios:Array, matrix:Matrix = null, spreadMethod:String = "pad", interpolationMethod:String = "rgb", focalPointRatio:Number = 0):void
Задает заливку градиентом для использования при последующих вызовах других методов Graphics (например, lineTo() или drawCircle()) объекта.
Graphics
  
beginShaderFill(shader:Shader, matrix:Matrix = null):void
Задает затенение для использования при последующих вызовах других методов объекта Graphics (например, lineTo() или drawCircle()).
Graphics
  
Удаляет графику, отрисованную в данном объекте «Graphics», и сбрасывает параметры заливки и стиля линии.
Graphics
  
copyFrom(sourceGraphics:Graphics):void
Копирует все команды рисования исходного объекта Graphics в вызывающий объект Graphics.
Graphics
  
cubicCurveTo(controlX1:Number, controlY1:Number, controlX2:Number, controlY2:Number, anchorX:Number, anchorY:Number):void
Рисование кубической кривой Безье из текущего положения рисования до указанной точки привязки.
Graphics
  
curveTo(controlX:Number, controlY:Number, anchorX:Number, anchorY:Number):void
Рисует кривую Безье второго порядка с использованием текущего стиля линии от текущего положения рисования до точки с координатами (anchorX, anchorY) и с применением опорной точки с координатами (controlX, controlY).
Graphics
  
Рисует круг.
Graphics
  
drawEllipse(x:Number, y:Number, width:Number, height:Number):void
Рисует эллипс.
Graphics
  
Отправляет последовательность экземпляров IGraphicsData для рисования.
Graphics
  
drawPath(commands:Vector.<int>, data:Vector.<Number>, winding:String = "evenOdd"):void
Отправляет последовательность команд для рисования.
Graphics
  
drawRect(x:Number, y:Number, width:Number, height:Number):void
Рисует прямоугольник.
Graphics
  
drawRoundRect(x:Number, y:Number, width:Number, height:Number, ellipseWidth:Number, ellipseHeight:Number = NaN):void
Рисует прямоугольный примитив со скругленными углами.
Graphics
  
drawTriangles(vertices:Vector.<Number>, indices:Vector.<int> = null, uvtData:Vector.<Number> = null, culling:String = "none"):void
Визуализирует набор треугольников, чтобы придать растровому изображению трехмерный вид.
Graphics
  
Применяет заливку к линиям и кривым, добавленным с момента последнего вызова метода beginFill(), beginGradientFill() или beginBitmapFill().
Graphics
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
  
lineBitmapStyle(bitmap:BitmapData, matrix:Matrix = null, repeat:Boolean = true, smooth:Boolean = false):void
Указывает растровое изображения штриха линии для использования при рисовании линий.
Graphics
  
lineGradientStyle(type:String, colors:Array, alphas:Array, ratios:Array, matrix:Matrix = null, spreadMethod:String = "pad", interpolationMethod:String = "rgb", focalPointRatio:Number = 0):void
Указывает градиент для использования при рисовании линий.
Graphics
  
lineShaderStyle(shader:Shader, matrix:Matrix = null):void
Указывает затенение штриха линии для использования при рисовании линий.
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
Указывает стиль линии, который будет использоваться при последующих вызовах таких методов Graphics, как lineTo() или drawCircle().
Graphics
  
Рисует линию с использованием текущего стиля линии от текущего положения инструмента рисования до точки с координатами (x, y); затем текущим положением становится точка (x, y).
Graphics
  
Перемещает текущее положение инструмента рисования в точку с координатами (x, y).
Graphics
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
  
Запрашивает данные векторной графики у объекта Sprite или Shape (может также распространяться и на дочерние объекты).
Graphics
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
 Inherited
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали.
Object
 Inherited
Возвращает строковое представление заданного объекта.
Object
 Inherited
Возвращает элементарное значение заданного объекта.
Object
Сведения о методе

beginBitmapFill

()метод
public function beginBitmapFill(bitmap:BitmapData, matrix:Matrix = null, repeat:Boolean = true, smooth:Boolean = false):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Заполняет область рисунка растровым изображением. Растровое изображение может повторяться или располагаться в виде мозаики для заполнения области. Заливка остается действительной вплоть до вызова метода beginFill(), beginBitmapFill(), beginGradientFill() или beginShaderFill(). При вызове метода clear() заливка удаляется.

В приложении заливка отображается при рисовании трех и более точек или вызове метода endFill().

Параметры

bitmap:BitmapData — Прозрачное или матовое растровое изображение, содержащее отображаемые биты.
 
matrix:Matrix (default = null) — Объект матрицы (из класса flash.geom.Matrix), который можно использовать для определения преобразований в растровом изображении. Например, можно использовать следующую матрицу для поворота растрового изображения на 45 градусов (пи/4 радиан):
     matrix = new flash.geom.Matrix(); 
     matrix.rotate(Math.PI / 4);
     
 
repeat:Boolean (default = true) — При значении true растровое изображение повторяется по шаблону мозаики. При значении false растровое изображение не повторяется, а его края используются для заливки всей области, выходящей за его пределы.

Например, рассмотрим следующее растровое изображение (рисунок «шахматная доска» 20 х 20 пикселей):

«шахматная доска» 20 х 20 пикселей

Когда для repeat задано значение true (как в следующем примере), в заливке повторяется растровое изображение:

«шахматная доска» 60 х 60 пикселей

Когда для repeat задано значение false, в заливке растровым изображением используются краевые пиксели, чтобы залить область, выходящую за пределы изображения:

изображение 60 х 60 без повторения

 
smooth:Boolean (default = false) — При выборе значения false визуализируются растровые изображения, увеличенные при помощи алгоритма ближайшего соседнего пикселя, которые могут выглядеть нечетко. При выборе значения true увеличенное растровое изображение визуализируется с помощью билинейного алгоритма. Процедура визуализации с помощью алгоритма ближайшего соседнего пикселя требует меньше времени.

Связанные элементы API


Пример  ( Использование этого примера )

В следующем примере рассматривается изображение (image1.jpg), которое поворачивается и повторяется для заполнения прямоугольника.
  1. Файл изображения (image1.jpg) загружается с помощью объектов Loader и URLRequest. В данном примере файл находится в том же каталоге, что и SWF-файл. SWF-файл должен быть откомпилирован с установленным для параметра «Безопасность локального воспроизведения» режимом «Доступ только к локальным файлам».
  2. При загрузке изображения (завершении Event) вызывается метод drawImage(). Метод ioErrorHandler() записывает комментарий отслеживания, если изображение загружено неправильно.
  3. При методе drawImage() создаются экземпляры объекта BitmapData, а в качестве ширины и высоты задаются размеры изображения (image1.jpg). Затем исходное изображение отрисовывается в объекте BitmapData. После этого рисуется прямоугольник в объекте Sprite mySprite, а для заливки используется объект BitmapData. С использованием метода Matrix метод beginBitmapFill() поворачивает изображение на 45 градусов, а затем начинает заполнять прямоугольник изображением, пока не будет покрыта вся область.
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

()метод 
public function beginFill(color:uint, alpha:Number = 1.0):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Задает простую заливку сплошным цветом для использования при последующих вызовах других методов объекта Graphics (например, lineTo() или drawCircle()) при рисовании. Заливка остается действительной вплоть до вызова метода beginFill(), beginBitmapFill(), beginGradientFill() или beginShaderFill(). При вызове метода clear() заливка удаляется.

В приложении заливка отображается при рисовании трех и более точек или вызове метода endFill().

Параметры

color:uint — Цвет заполнения (0xRRGGBB).
 
alpha:Number (default = 1.0) — Значение альфа-канала заливки (0,0 — 1,0).

Связанные элементы API


Пример
Использование этого примера
См. пример использования этого метода в конце описания класса.

beginGradientFill

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

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Задает заливку градиентом для использования при последующих вызовах других методов Graphics (например, lineTo() или drawCircle()) объекта. Заливка остается действительной вплоть до вызова метода beginFill(), beginBitmapFill(), beginGradientFill() или beginShaderFill(). При вызове метода clear() заливка удаляется.

В приложении заливка отображается при рисовании трех и более точек или вызове метода endFill().

Параметры

type:String — Значение из класса GradientType, определяющее, какой тип градиента должен использоваться: GradientType.LINEAR или GradientType.RADIAL.
 
colors:Array — Массив шестнадцатеричных значений цвета RGB, который должен использоваться в градиенте; например, красный — 0xFF0000, синий — 0x0000FF и т.д. Можно указать до 15 цветов. Для каждого цвета необходимо указать соответствующее значение в параметрах альфа-канала и пропорций.
 
alphas:Array — Массив значений альфа-канала для соответствующих цветов в массиве цветов. Действительные значения — от 0 до 1. Если значение меньше 0, по умолчанию задается 0. Если значение больше 1, по умолчанию задается 1.
 
ratios:Array — Массив значений распределения цветов; действительными являются значения от 0 до 255. Это значение определяет процент ширины, на которой цвет представлен на 100% Значение 0 обозначает левую позицию окна градиента, а 255 — правую.

Примечание. Это значение показывает позиции в окне градиента, а не в координатной плоскости конечного градиента, которая может быть шире или уже окна градиента. Укажите величину каждого значения в параметре colors.

Например, линейный градиент включает два цвета: синий и зеленый. Ниже иллюстрируется размещение цветов в градиенте, созданном с использованием разных значений массива ratios:

ratiosГрадиент
[0, 127]линейный градиент от синего к зеленому со значениями распределения 0 и 127
[0, 255]линейный градиент от синего к зеленому с значениями распределения 0 и 255
[127, 255]линейный градиент от синего к зеленому с значениями распределения 127 и 255

Значения в массиве должны увеличиваться последовательно, например [0, 63, 127, 190, 255].

 
matrix:Matrix (default = null) — Матрица преобразования, определенная классом flash.geom.Matrix. Класс flash.geom.Matrix включает метод createGradientBox(), позволяющий удобно настроить матрицу для использования с методом beginGradientFill().
 
spreadMethod:String (default = "pad") — Значение из класса SpreadMethod, определяющее метод нанесения, который должен использоваться: SpreadMethod.PAD, SpreadMethod.REFLECT или SpreadMethod.REPEAT.

Например, рассмотрим простой линейный градиент между двумя цветами.

     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);
     

В этом примере используется метод нанесения SpreadMethod.PAD, и заливка градиентом выглядит следующим образом:

Линейный градиент с методом SpreadMethod.PAD

При использовании метода нанесения SpreadMethod.REFLECT заливка градиентом выглядит следующим образом:

линейный градиент с методом SpreadMethod.REFLECT

При использовании метода нанесения SpreadMethod.REPEAT заливка градиентом выглядит следующим образом:

линейный градиент с методом SpreadMethod.REPEAT

 
interpolationMethod:String (default = "rgb") — Значение из класса InterpolationMethod, указывающее, какое значение должно использоваться: InterpolationMethod.LINEAR_RGB или InterpolationMethod.RGB

Например, рассмотрим простой линейный градиент между двумя цветами (параметру spreadMethod задано значение SpreadMethod.REFLECT). Разные методы интерполяции влияют на внешний вид следующим образом:

линейный градиент с методом InterpolationMethod.LINEAR_RGB линейный градиент с методом InterpolationMethod.RGB
InterpolationMethod.LINEAR_RGBInterpolationMethod.RGB
 
focalPointRatio:Number (default = 0) — Число, управляющее местоположением фокуса градиента. 0 означает, что фокус находится в центре. 1 означает, что фокус находится у одного края круга градиента. -1 означает, что фокус находится у другого края окружности градиента. Значение меньше -1 или больше 1 округляется до -1 или 1. Например, для focalPointRatio задано значение 0,75:

радиальный градиент при значении focalPointRatio, равном 0,75


Выдает
ArgumentError — Если параметр type недействителен.

Связанные элементы API

beginShaderFill

()метод 
public function beginShaderFill(shader:Shader, matrix:Matrix = null):void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Задает затенение для использования при последующих вызовах других методов объекта Graphics (например, lineTo() или drawCircle()). Заливка остается действительной вплоть до вызова метода beginFill(), beginBitmapFill(), beginGradientFill() или beginShaderFill(). При вызове метода clear() заливка удаляется.

В приложении заливка отображается при рисовании трех и более точек или вызове метода endFill().

Заливки с затенением не поддерживаются при визуализации с использованием графического процессора. Области заливки будут окрашены в голубой цвет.

Параметры

shader:Shader — Затенение, которое должно использоваться для заливки. Для указания входного изображения данный экземпляр Shader не требуется. Однако если в затенении входное изображение указано, его необходимо настроить вручную. Чтобы указать ввод, настройте свойство input соответствующего свойства ShaderInput свойства Shader.data.

При передаче экземпляра объекта Shader в качестве аргумента происходит копирование затенения на внутреннем уровне. При выполнении операции рисования заливки используется эта копия, а не ссылка на исходное затенение. Изменения параметров затенения (изменение значения параметра, ввода или байт-кода) не влияют на используемую для заливки копию затенения.

 
matrix:Matrix (default = null) — Объект матрицы (из класса flash.geom.Matrix), который можно использовать для определения преобразований в затенении. Например, можно использовать следующую матрицу для поворота затенения на 45 градусов (пи/4 радиан):
     matrix = new flash.geom.Matrix(); 
     matrix.rotate(Math.PI / 4);
     

В основе полученных в затенении координат лежит матрица, указанная для параметра matrix. В матрице по умолчанию (null) этими координатами в затенении являются локальные координаты пикселей, которые могут быть использованы для пробы ввода.


Выдает
ArgumentError — Если и тип выхода затенения не совместим с данной операцией (затенение должно задать выход pixel3 или pixel4).
 
ArgumentError — Если затенение задает неподдерживаемое входное изображение.
 
ArgumentError — Если экземпляр ByteArray или Vector.<Number> используется в качестве ввода, а свойства width и height для ShaderInput не указаны либо указанные значения не соответствуют количеству данных во входном объекте. Дополнительные сведения см. в описании ShaderInput.input.

Связанные элементы API

clear

()метод 
public function clear():void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Удаляет графику, отрисованную в данном объекте «Graphics», и сбрасывает параметры заливки и стиля линии.

copyFrom

()метод 
public function copyFrom(sourceGraphics:Graphics):void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5, Flash Lite 4

Копирует все команды рисования исходного объекта Graphics в вызывающий объект Graphics.

Параметры

sourceGraphics:Graphics — Объект Graphics, из которого будут браться команды рисования для копирования.

cubicCurveTo

()метод 
public function cubicCurveTo(controlX1:Number, controlY1:Number, controlX2:Number, controlY2:Number, anchorX:Number, anchorY:Number):void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 11, AIR 3

Рисование кубической кривой Безье из текущего положения рисования до указанной точки привязки. Кубические кривые Безье состоят из двух точек привязки и двух опорных точек. Кривая соединяет две точки привязки с искривлением в направлении двух опорных точек.

кубические кривые Безье

Следующие четыре точки используются для рисования кубической кривой Безье с использованием метода cubicCurveTo():

  • Текущее положение рисования является первой точкой привязки.
  • Параметры anchorX и anchorY задают вторую точку привязки.
  • Параметры controlX1 и controlY1 задают первую опорную точку.
  • Параметры controlX2 и controlY2 задают вторую опорную точку.

Если метод cubicCurveTo() вызывается перед методом moveTo(), кривая начинается в точке с координатами (0, 0).

Если метод cubicCurveTo() вызывается позднее, в среде выполнения Flash текущее положение рисования задается в точке с координатами (anchorX, anchorY). Если происходит сбой метода cubicCurveTo(), текущее положение рисования не изменяется.

Если фрагмент ролика включает содержимое, созданное с помощью инструментов рисования Flash, результаты вызовов метода в cubicCurveTo() отрисовываются под этим содержимым.

Параметры

controlX1:Number — Задает горизонтальное положение первой опорной точки относительно точки регистрации родительского экранного объекта.
 
controlY1:Number — Задает вертикальное положение первой опорной точки относительно точки регистрации родительского экранного объекта.
 
controlX2:Number — Задает горизонтальное положение второй опорной точки относительно точки регистрации родительского экранного объекта.
 
controlY2:Number — Задает вертикальное положение второй опорной точки относительно точки регистрации родительского экранного объекта.
 
anchorX:Number — Задает горизонтальное положение точки привязки относительно точки регистрации родительского экранного объекта.
 
anchorY:Number — Задает вертикальное положение точки привязки относительно точки регистрации родительского экранного объекта.


Пример  ( Использование этого примера )

В следующем примере рисуется синий округлый объект с шириной и высотой, равными 100 пикселям, в 250 пикселях справа от точки регистрации (0, 0) экранного объекта Sprite.

Нарисуйте четыре кривых, образующих круг, и заполните фигуру синим цветом.

Обратите внимание на то, что вследствие характера кубического уравнения Безье этот круг не является идеальным. Лучше всего рисовать круг с использованием метода drawCircle() класса 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

()метод 
public function curveTo(controlX:Number, controlY:Number, anchorX:Number, anchorY:Number):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Рисует кривую Безье второго порядка с использованием текущего стиля линии от текущего положения рисования до точки с координатами (anchorX, anchorY) и с применением опорной точки с координатами (controlX, controlY). Затем текущим положением становится точка (anchorX, anchorY). Если в фрагменте ролика, в котором выполняется отрисовка, есть содержимое, созданное с помощью инструментов рисования Flash, то вызовы метода curveTo() осуществляются под содержимым. Если вызвать метод curveTo() перед вызовом метода moveTo(), то текущим положением инструмента рисования по умолчанию становится точка с координатами (0,0). Если отсутствует один из параметров, этот метод использовать не удастся, и текущее положение инструмента рисования остается без изменений.

Нарисованная кривая является квадратичной кривой Безье. Квадратичные кривые Безье состоят из двух точек привязки и одной опорной точки. Кривая соединяет две точки привязки с искривлением в направлении опорной точки.

кривые Безье второго порядка

Параметры

controlX:Number — Число, указывающее горизонтальное положение контрольной точки относительно точки регистрации родительского экранного объекта.
 
controlY:Number — Число, указывающее вертикальное положение опорной точки относительно точки регистрации родительского экранного объекта.
 
anchorX:Number — Число, указывающее горизонтальное положение следующей точки привязки относительно точки регистрации родительского экранного объекта.
 
anchorY:Number — Число, указывающее вертикальное положение следующей точки привязки относительно точки регистрации родительского экранного объекта.


Пример  ( Использование этого примера )

В следующем примере рисуется зеленый округлый объект с шириной и высотой, равными 100 пикселям, в 250 пикселях справа от точки регистрации (0, 0) экранного объекта Sprite.

Нарисуйте четыре кривых, образующих круг, и заполните фигуру зеленым цветом.

Обратите внимание на то, что вследствие характера квадратичного уравнения Безье этот круг не является идеальным. Лучше всего рисовать круг с использованием метода drawCircle() класса 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);
        }
    }
}

В следующем примере рассматривается рисование растущего месяца с использованием метода curveTo().

Рисуются две кривые линии толщиной 1 пиксель, фигура заливается белым цветом. Метод moveTo() используется для указания текущего положения инструмента рисования в точке с координатами (100, 100). Первая кривая перемещает положение инструмента рисования до своей точки назначения с координатами (100, 200). Вторая кривая возвращает инструмент в исходное положение (100, 100), которое является ее точкой назначения. Горизонтальные опорные точки определяют разные размеры кривых.

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

()метод 
public function drawCircle(x:Number, y:Number, radius:Number):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Рисует круг. Прежде чем вызывать метод drawCircle(), необходимо задать стиль линии, заливку или и то, и другое. Для этого нужно вызвать метод linestyle(), lineGradientStyle(), beginFill(), beginGradientFill() или beginBitmapFill().

Параметры

x:Number — Положение x центра круга относительно точки регистрации родительского объекта отображения (в пикселях).
 
y:Number — Местоположение y центра круга относительно точки регистрации родительского экранного объекта (в пикселях).
 
radius:Number — Радиус окружности (в пикселях).

Связанные элементы API


Пример
Использование этого примера
См. пример использования этого метода в конце описания класса.

drawEllipse

()метод 
public function drawEllipse(x:Number, y:Number, width:Number, height:Number):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Рисует эллипс. Прежде чем вызывать метод drawEllipse(), необходимо задать стиль линии, заливку или и то, и другое. Для этого нужно вызвать метод linestyle(), lineGradientStyle(), beginFill(), beginGradientFill() или beginBitmapFill().

Параметры

x:Number — Положение x верхней левой точки ограничительной рамки эллипса относительно точки регистрации родительского объекта отображения (в пикселях).
 
y:Number — Положение y верхнего левого угла ограничительной рамки для эллипса относительно точки регистрации родительского экранного объекта (в пикселях).
 
width:Number — Ширина эллипса (в пикселях).
 
height:Number — Высота эллипса (в пикселях).

Связанные элементы API


Пример  ( Использование этого примера )

В следующем примере используется функция drawEgg(), чтобы нарисовать три яйца разного размера (три размера эллипса) с применением параметра eggSize.
  1. Конструктор вызывает функцию drawEgg() и передает горизонтальные и вертикальные параметры для места отрисовки яйца и его типа (eggSize). (Высота и ширина яиц (эллипсов) может использоваться для определения места их отображения.)
  2. Функция drawEgg() рисует эллипсы разного размера и заполняет их белым цветом с помощью метода beginFill(). Для этой функции не предусмотрена процедура предварительной обработки ошибок.
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

()метод 
public function drawGraphicsData(graphicsData:Vector.<IGraphicsData>):void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Отправляет последовательность экземпляров IGraphicsData для рисования. Данный метод поддерживает объект Vector, в который входят объекты, включая контуры, заливки и штрихи, реализующие интерфейс IGraphicsData. Вектор, состоящий из экземпляров IGraphicsData, может относиться к части фигуры или к сложному, полностью определенному набору данных для визуализации полной фигуры.

Графические контуры могут содержать другие графические контуры. Если вектор graphicsData содержит контур, то во время визуализации будет обработан не только данный контур, но и все вложенные контуры.

Параметры

graphicsData:Vector.<IGraphicsData> — Объект Vector, содержащий графические объекты, которые должны реализовывать интерфейс IGraphicsData.

Связанные элементы API


Пример  ( Использование этого примера )

В следующем примере создается объект GraphicsGradientFill, определяющий свойства заливки квадратной фигуры. Далее в примере создаются объекты GraphicsStroke (для толщины линии) и GraphicsSolidFill (для цвета линии), задающие линию границы квадрата. В дальнейшем создается объект GraphicsPath для хранения значений, требуемых для отображения фигуры. Все эти объекты заключаются в объект IGraphicsData и передаются команде drawGraphicsData() для визуализации фигуры.
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

()метод 
public function drawPath(commands:Vector.<int>, data:Vector.<Number>, winding:String = "evenOdd"):void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Отправляет последовательность команд для рисования. Метод drawPath() принимает векторный массив из отдельных команд рисования moveTo(), lineTo() и curveTo(), сочетая их в единый командный вызов. Параметры метода drawPath() объединяют команды рисования с парами значений координат x и y и направлением рисования. Команды рисования являются целочисленными значениями, представляющими константы, определенные в классе GraphicsPathCommand. Пары значений координат x и y являются числами в составе массива, в котором каждая пара задает местоположение в системе координат. Направление рисования является значением из класса GraphicsPathWinding.

Как правило, при помощи метода drawPath() рисунки визуализируются быстрее, чем при последовательном вызове отдельных методов lineTo() и curveTo().

При вычислениях методом drawPath() используются числа с плавающей запятой, поэтому вращение и масштабирование фигур является более точным. Однако кривые, отправленные с помощью метода drawPath(), могут содержать незначительные ошибки выравнивания (до 1 пикселя) при использовании вместе с методами lineTo() и curveTo().

Метод drawPath() также использует немного другие правила для заполнения и рисования линий. Они перечислены ниже.

  • При применении заливки к визуализации контура:
    • вложенный контур менее 3 точек не визуализируется. (однако визуализация штриха все равно выполняется в соответствии с приведенными ниже правилами для штрихов);
    • незамкнутый вложенный контур (конечная точка не совпадает с начальной) неявно замыкается.
  • Когда штрих применяется к визуализации контура:
    • вложенные контуры могут состоять из любого количества точек;
    • вложенные контуры никогда не замыкаются неявно.

Параметры

commands:Vector.<int> — Векторный массив целочисленных значений, представляющих собой команды рисования. Набор приемлемых значений определяется константами класса GraphicsPathCommand.
 
data:Vector.<Number> — Векторный массив чисел (экземпляров Number), где каждая пара чисел рассматривается как точка в системе координат (пара координат x, y). Пары значений координат x и y не являются объектами Point; вектор data представляет собой последовательность чисел, в которой каждая пара чисел представляет собой местоположение в системе координат.
 
winding:String (default = "evenOdd") — Указывает правило изгиба с использованием значения, определенного в классе GraphicsPathWinding.

Связанные элементы API


Пример  ( Использование этого примера )

Следующий пример заполняет два векторных массива (Vector), затем передает их методу drawPath() для визуализации голубой звезды. Первый объект Vector, star_commands, содержит последовательность констант, представляющих команды рисования из класса GraphicsPathCommand. Второй объект Vector, star_coord, содержит 5 наборов пар координат x и y. Метод drawPath() сопоставляет команды с позициями для рисования звезды.
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);
        }
    }
}

Примечание. По умолчанию метод drawPath() использует заливку по правилу четности-нечетности. Поэтому центр звезды не закрашен. Для заполнения центра звезды следует в качестве третьего параметра задать заливку по правилу ненулевого направления:
 graphics.drawPath(star_commands, star_coord, GraphicsPathWinding.NON_ZERO);
 

drawRect

()метод 
public function drawRect(x:Number, y:Number, width:Number, height:Number):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Рисует прямоугольник. Прежде чем вызывать метод drawRect(), необходимо задать стиль линии, заливку или и то, и другое. Для этого нужно вызвать метод linestyle(), lineGradientStyle(), beginFill(), beginGradientFill() или beginBitmapFill().

Параметры

x:Number — Число, указывающее горизонтальное положение относительно точки регистрации родительского объекта отображения (в пикселях).
 
y:Number — Число, указывающее вертикальное положение относительно точки регистрации родительского объекта отображения (в пикселях).
 
width:Number — Ширина прямоугольника (в пикселях).
 
height:Number — Высота прямоугольника (в пикселях).


Выдает
ArgumentError — Если параметры width или height не являются числом (Number.NaN).

Связанные элементы API


Пример  ( Использование этого примера )

Следующий пример демонстрирует отрисовку фигур в ActionScript 3.0. Пример предоставлен 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

()метод 
public function drawRoundRect(x:Number, y:Number, width:Number, height:Number, ellipseWidth:Number, ellipseHeight:Number = NaN):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Рисует прямоугольный примитив со скругленными углами. Прежде чем вызывать метод drawRoundRect(), необходимо задать стиль линии, заливку или и то, и другое. Для этого нужно вызвать метод linestyle(), lineGradientStyle(), beginFill(), beginGradientFill() или beginBitmapFill().

Параметры

x:Number — Число, указывающее горизонтальное положение относительно точки регистрации родительского объекта отображения (в пикселях).
 
y:Number — Число, указывающее вертикальное положение относительно точки регистрации родительского объекта отображения (в пикселях).
 
width:Number — Ширина прямоугольника со скругленными углами (в пикселях).
 
height:Number — Высота прямоугольника со скругленными углами (в пикселях).
 
ellipseWidth:Number — Ширина эллипса, используемая для отрисовки скругленных углов (в пикселях).
 
ellipseHeight:Number (default = NaN) — Высота эллипса, используемая для отрисовки скругленных углов (в пикселях). Необязательно. Если значение не задано, то по умолчанию используется то же, что и для параметра ellipseWidth.


Выдает
ArgumentError — Если параметры width, height, ellipseWidth или ellipseHeight не являются числом (Number.NaN).

Связанные элементы API


Пример
Использование этого примера
См. пример использования этого метода в конце описания класса.

drawTriangles

()метод 
public function drawTriangles(vertices:Vector.<Number>, indices:Vector.<int> = null, uvtData:Vector.<Number> = null, culling:String = "none"):void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Визуализирует набор треугольников, чтобы придать растровому изображению трехмерный вид. Метод drawTriangles() накладывает текущую или растровую заливку на грани треугольника, используя набор координат (u,v).

Можно использовать любую заливку. Однако все встроенные в заливках матрицы преобразования игнорируются.

При использовании растровой заливки параметр uvtData улучшает наложение текстуры.

Параметры

vertices:Vector.<Number> — Вектор чисел, где каждая пара чисел рассматривается как точка в системе координат (пара координат x, y). Параметр vertices обязателен.
 
indices:Vector.<int> (default = null) — Вектор целых чисел или индексов, где каждые три индекса определяют треугольник. Если параметру indexes задано значение null, то треугольник определяют каждые три вершины (шесть пар х,у в векторе vertices). В противном случае каждый индекс относится к вершине, представленной парой чисел в векторе vertices. Например, indexes[1] определяет точку с координатами (vertices[2], vertices[3]). Параметр indexes является дополнительным, но индексы, как правило, сокращают объем отправляемых и вычисляемых данных.
 
uvtData:Vector.<Number> (default = null) — Вектор нормализованных координат, используемый для наложения текстуры. Каждая координата определяет точку на растровом изображении, используемом для заливки. Для каждой вершины должна быть указана одна координата UV или одна координата UVT. В координатах UV точка (0,0) — это верхняя левая точка, а точка (1,1) — нижняя правая точка растрового изображения.

Если длина этого вектора в два раза превышает длину вектора vertices, то нормализованные координаты используются без перспективной коррекции.

Если длина этого вектора в три раза превышает длину вектора vertices, то третья координата интерпретируется как «t», (расстояние от глаз до текстуры в поле зрения). Это помогает средству визуализации правильно применить перспективу при наложении текстур в трехмерной графике.

Если параметру uvtData задано значение null, будут применяться обычные правила для заливки любого типа.

 
culling:String (default = "none") — Указывает, производить ли визуализацию треугольников, которые смотрят в указанном направлении. Данный параметр используется для предотвращения визуализации треугольников, которые не видны с текущей точки обзора. Для данного параметра может быть задано любое значение, определенное классом TriangleCulling.

Связанные элементы API

endFill

()метод 
public function endFill():void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Применяет заливку к линиям и кривым, добавленным с момента последнего вызова метода beginFill(), beginGradientFill() или beginBitmapFill(). Flash использует заливку, указанную в предыдущем вызове метода beginFill(), beginGradientFill() или beginBitmapFill(). Если текущее положение инструмента рисования не совпадает с предыдущим положением, указанным в методе moveTo(), и определяется заливка, то путь замыкается линией, а затем заполняется цветом.

Связанные элементы API

lineBitmapStyle

()метод 
public function lineBitmapStyle(bitmap:BitmapData, matrix:Matrix = null, repeat:Boolean = true, smooth:Boolean = false):void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Указывает растровое изображения штриха линии для использования при рисовании линий.

Стиль линии растрового изображения используется при последующих вызовах таких методов Graphics, как lineTo() или drawCircle(). Стиль линии остается действительным вплоть до вызова метода lineStyle(), lineGradientStyle() или lineBitmapStyle() с другими параметрами.

Метод lineBitmapStyle() можно вызвать в процессе отрисовки контура, чтобы указать новые стили для других сегментов линии.

Вызовите метод lineStyle() перед вызовом метода lineBitmapStyle(), чтобы активировать штрих, в противном случае значение стиля линии останется undefined.

Вызовы функции clear() возвращают стиль линии к значению undefined.

Параметры

bitmap:BitmapData — Растровое изображение, которое должно использоваться для штриха линии.
 
matrix:Matrix (default = null) — Дополнительная матрица преобразования, определенная классом flash.geom.Matrix. Матрица может быть использована для масштабирования или манипуляции растрового изображения до того, как применить его к стилю линии.
 
repeat:Boolean (default = true) — Указывает, будет ли растровое изображение повторяться по шаблону мозаики.
 
smooth:Boolean (default = false) — Указывает, будет ли к растровому изображению применяться смягчение.

Связанные элементы API

lineGradientStyle

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

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9

Указывает градиент для использования при рисовании линий.

Стиль линии градиента используется при последующих вызовах следующих методов Graphics: lineTo() или drawCircle(). Стиль линии остается действительным вплоть до вызова метода lineStyle(), lineBitmapStyle() или lineGradientStyle() с другими параметрами.

Метод lineGradientStyle() можно вызвать в процессе отрисовки контура, чтобы указать новые стили для других сегментов линии.

Вызовите метод lineStyle() перед вызовом метода lineGradientStyle(), чтобы активировать штрих, в противном случае значение стиля линии останется undefined.

Вызовы функции clear() возвращают стиль линии к значению undefined.

Параметры

type:String — Значение из класса GradientType, определяющее, какой тип градиента должен использоваться: GradientType.LINEAR или GradientType.RADIAL.
 
colors:Array — Массив шестнадцатеричных значений цвета RGB, который должен использоваться в градиенте (например, красный — 0xFF0000, синий — 0x0000FFи т.д.).
 
alphas:Array — Массив значений альфа-канала для соответствующих цветов в массиве цветов. Действительные значения — от 0 до 1. Если значение меньше 0, по умолчанию задается 0. Если значение больше 1, по умолчанию задается 1.
 
ratios:Array — Массив значений распределения цветов; действительными являются значения от 0 до 255. Это значение определяет процент ширины, на которой цвет представлен на 100% Значение 0 обозначает левую позицию окна градиента, а 255 — правую. Это значение показывает позиции в окне градиента, а не в координатной плоскости конечного градиента, которая может быть шире или уже окна градиента. Укажите величину каждого значения в параметре colors.

Например, линейный градиент включает два цвета: синий и зеленый. Ниже иллюстрируется размещение цветов в градиенте, созданном с использованием разных значений массива ratios:

ratiosГрадиент
[0, 127]линейный градиент от синего к зеленому со значениями распределения 0 и 127
[0, 255]линейный градиент от синего к зеленому с значениями распределения 0 и 255
[127, 255]линейный градиент от синего к зеленому с значениями распределения 127 и 255

Значения в массиве должны увеличиваться последовательно, например [0, 63, 127, 190, 255].

 
matrix:Matrix (default = null) — Матрица преобразования, определенная классом flash.geom.Matrix. Класс flash.geom.Matrix включает метод createGradientBox(), позволяющий удобно настроить матрицу для использования с методом lineGradientStyle().
 
spreadMethod:String (default = "pad") — Значение класса SpreadMethod, задающее метод нанесения:

Линейный градиент с методом SpreadMethod.PADлинейный градиент с методом SpreadMethod.REFLECTлинейный градиент с методом SpreadMethod.REPEAT
SpreadMethod.PADSpreadMethod.REFLECTSpreadMethod.REPEAT

 
interpolationMethod:String (default = "rgb") — Значение класса InterpolationMethod, определяющее, какое значение должно использоваться. Например, рассмотрим простой линейный градиент между двумя цветами (параметру spreadMethod задано значение SpreadMethod.REFLECT). Разные методы интерполяции влияют на внешний вид следующим образом:

линейный градиент с методом InterpolationMethod.LINEAR_RGBлинейный градиент с методом InterpolationMethod.RGB
InterpolationMethod.LINEAR_RGBInterpolationMethod.RGB

 
focalPointRatio:Number (default = 0) — Число, управляющее местоположением фокуса градиента. Значение 0 означает, что фокус находится в центре. Значение 1 означает, что фокус находится у одного края круга градиента. Значение -1 означает, что фокус находится у другого края окружности градиента. Значения меньше -1 или больше 1 округляются до -1 и 1 соответственно. Следующий пример иллюстрирует градиент с значением focalPointRatio, равным -0.75:

радиальный градиент при значении focalPointRatio, равном 0,75

Связанные элементы API


Пример  ( Использование этого примера )

В следующем примере рассматривается рисование прямоугольника и круга с использованием штриха градиента от красного к зеленому и синему.

Метод createGradientBox() класса Matrix используется для определения окна градиента с шириной 200 и высотой 40. Толщина линии составляет 5 пикселей. Для метода lineGradientStyle() необходимо определить толщину штриха. Задается линейный градиент. Для градиента выбираются красный, зеленый и синий цвета. Прозрачность (значение альфа-канала) цветов составляет 1 (матовые). Распределение градиента — равномерное, 100-процентная выборка цветов в позициях 0 (левый край окна градиента), 128 (середина окна) и 255 (правый край окна). Ширина прямоугольника охватывает весь спектр градиента, а круг —только 50% в центре спектра.

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

()метод 
public function lineShaderStyle(shader:Shader, matrix:Matrix = null):void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Указывает затенение штриха линии для использования при рисовании линий.

Стиль затенения линии используется при последующих вызовах таких методов Graphics, как lineTo() или drawCircle(). Стиль линии остается действительным вплоть до вызова метода lineStyle(), lineGradientStyle() или lineBitmapStyle() с другими параметрами.

Метод lineShaderStyle() можно вызвать в процессе отрисовки контура, чтобы указать новые стили для других его сегментов линии.

Вызовите метод lineStyle() перед вызовом метода lineShaderStyle(), чтобы активировать штрих, в противном случае значение стиля линии останется undefined.

Вызовы функции clear() возвращают стиль линии к значению undefined.

Параметры

shader:Shader — Затенение, которое должно использоваться для штриха линии.
 
matrix:Matrix (default = null) — Дополнительная матрица преобразования, определенная классом flash.geom.Matrix. Матрица может быть использована для масштабирования или манипуляции растрового изображения до того, как применить его к стилю линии.

Связанные элементы API

lineStyle

()метод 
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

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Указывает стиль линии, который будет использоваться при последующих вызовах таких методов Graphics, как lineTo() или drawCircle(). Стиль линии остается действительным вплоть до вызова метода lineGradientStyle(), lineBitmapStyle() или lineStyle() с другими параметрами.

Метод lineStyle() можно вызвать в процессе отрисовки пути, чтобы указать новые стили для других сегментов линии.

Примечание. Вызовы функции clear() возвращает стиль линии к undefined.

Примечание. Flash Lite 4 поддерживает только первые три параметра (thickness, color и alpha).

Параметры

thickness:Number (default = NaN) — Целое число, определяющее толщину линии в точках; допустимыми являются значения от 0 до 255. Если число не указано или параметр не определен, то линия не будет проведена. Если передается значение меньше 0, по умолчанию задается 0. Значение 0 обозначает толщину одного волоса, максимальная толщина составляет 255. Если передается значение больше 255, по умолчанию задается 255.
 
color:uint (default = 0) — Шестнадцатеричное значение цвета линии; например красный — 0xFF0000, синий — 0x0000FF и т.д. Если значение на задано, по умолчанию используется 0x000000 (черный). Дополнительно.
 
alpha:Number (default = 1.0) — Число, указывающее значение альфа-канала цвета линии, допустимые значения находятся в диапазоне 0-1. Если значение на задано, по умолчанию используется 1(сплошной). Если значение меньше 0, по умолчанию задается 0. Если значение больше 1, по умолчанию задается 1.
 
pixelHinting:Boolean (default = false) — (Не поддерживается во Flash Lite 4) Логическое значение, которое указывает на то, доводятся ли штрихи до полных пикселей. Оно влияет на позицию привязок кривой и на размер штриха линии как таковой. Если для pixelHinting задано значение true, выполняется хинтинг ширины линии до полного пикселя. Если для pixelHinting задано значение false, в кривых и прямых линиях могут возникать разрывы. Например, на следующих рисунках показано, как проигрыватель Flash Player или Adobe AIR визуализирует два одинаковых округленных прямоугольника, которые отличаются только настройкой параметра pixelHinting в методе lineStyle() (с целью наглядности изображения увеличены на 200%):

pixelHinting false и pixelHinting true

Если значение не задано, для линии не используется хинтинг пикселей.

 
scaleMode:String (default = "normal") — (Не поддерживается во Flash Lite 4) Значение класса LineScaleMode, задающее используемый режим масштабирования:
  • LineScaleMode.NORMAL — Всегда масштабировать толщину линии при масштабировании объекта (по умолчанию).
  • LineScaleMode.NONE — Никогда не масштабировать толщину линии.
  • LineScaleMode.VERTICAL — Не масштабировать толщину линии, если объект масштабируется только по вертикали. Например, рассмотрим следующие окружности, нарисованные линией толщиной в 1 пиксель, для каждой из которых параметру scaleMode задано значение LineScaleMode.VERTICAL. Масштаб окружности слева изменен только по вертикали, а окружности справа — и по вертикали и по горизонтали.

    Окружность, масштабированная по вертикали, и окружность, масштабированная по вертикали и горизонтали.

  • LineScaleMode.HORIZONTAL — Не масштабировать толщину линии, если объект масштабируется только по горизонтали. Например, рассмотрим следующие окружности, нарисованные линией толщиной 1 пиксель, для каждой из которых параметру scaleMode задано значение LineScaleMode.HORIZONTAL. Масштаб окружности слева изменен только по горизонтали, а окружности справа — и по вертикали и по горизонтали.

    Окружность, масштабированная по горизонтали, и окружность, масштабированная по вертикали и горизонтали.

 
caps:String (default = null) — (Не поддерживается во Flash Lite 4) Значение класса CapsStyle, задающее тип концов линии. Допустимые значения: CapsStyle.NONE, CapsStyle.ROUND и CapsStyle.SQUARE. Если значение не указано, Flash Player использует круглые концы.

Следующий пример иллюстрирует разные параметры класса capsStyle. На рисунке представлено три синих линии толщиной 30 (к которым применяется capsStyle), а поверх них нанесена черная линия толщиной 1 (к которой capsStyle не применяется):

NONE (нет), ROUND (круглый) и SQUARE (квадратный)

 
joints:String (default = null) — (Не поддерживается во Flash Lite 4) Значение класса JointStyle, задающее тип стыка на углах. Допустимые значения: JointStyle.BEVEL, JointStyle.MITER и JointStyle.ROUND. Если значение не указано, Flash Player использует круглые стыки.

Следующий пример иллюстрирует разные параметры joints. На рисунке представлено три синих линии толщиной 30 (к которым применяется jointStyle), а поверх них нанесена черная линия толщиной 1 (к которой jointStyle не применяется):

MITER (уголок), ROUND (круглый) и BEVEL (скос)

Примечание. Для joints типа JointStyle.MITER можно использовать параметр miterLimit, чтобы ограничить длину уголка.

 
miterLimit:Number (default = 3) — (Не поддерживается во Flash Lite 4) Число, указывающее предел для обрезки скоса. Допустимыми являются значения в диапазоне 1-255 (остальные значения округляются до 1 или 255). Это значение используется, только если для jointStyle выбран тип "miter". Значение miterLimit – это длина, до которой может продлеваться уголок после точки стыка. Значение выражает фактор толщины линии. Например, при факторе miterLimit, равном 2,5, и толщине в 10 пикселей длина уголка достигает 25 пикселей.

Рассмотрим следующие углы, все составленные из линий с thickness 20, но с разными значениями miterLimit: 1, 2 и 4. Поверх углов для наглядности нанесены черные линии, показывающие точки стыка:

углы с miterLimit, равным 1, 2 и 4

Обратите внимание, что данное значение miterLimit имеет специфический максимальный угол для усечения «уголка». В следующей таблице приводится несколько примеров.

Значение miterLimit:Углы, меньше этого, усекаются:
1.41490 градусов
260 градусов
430 градусов
815 градусов

Связанные элементы API


Пример
Использование этого примера
См. примеры метода lineTo() или moveTo(), иллюстрирующие использование getStyle().

lineTo

()метод 
public function lineTo(x:Number, y:Number):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Рисует линию с использованием текущего стиля линии от текущего положения инструмента рисования до точки с координатами (x, y); затем текущим положением становится точка (x, y). Если в экранном объекте, в котором выполняется отрисовка, есть содержимое, созданное с помощью инструментов рисования Flash, то вызовы метода lineTo() осуществляются под содержимым. Если вызвать lineTo() перед вызовом метода moveTo(), то текущим положением инструмента рисования по умолчанию становится точка с координатами (0, 0). Если отсутствует один из параметров, этот метод использовать не удастся, и текущее положение инструмента рисования остается без изменений.

Параметры

x:Number — Число, указывающее горизонтальное положение относительно точки регистрации родительского экранного объекта (в пикселях).
 
y:Number — Число, указывающее вертикальное положение относительно точки регистрации родительского экранного объекта (в пикселях).


Пример  ( Использование этого примера )

В следующем примере рисуется трапеция с использованием метода lineTo(), начиная с точки с координатами (100, 100).

Толщина линии равна 10 пикселям, цвет — золотой, непрозрачный, концы линий не определены (так как все они заканчиваются на стыках), для стыков линий выбран тип MITER («уголок») с пределом 10, чтобы получились острые концы.

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

()метод 
public function moveTo(x:Number, y:Number):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Перемещает текущее положение инструмента рисования в точку с координатами (x, y). Если отсутствует один из параметров, этот метод использовать не удастся, и текущее положение инструмента рисования остается без изменений.

Параметры

x:Number — Число, указывающее горизонтальное положение относительно точки регистрации родительского экранного объекта (в пикселях).
 
y:Number — Число, указывающее вертикальное положение относительно точки регистрации родительского экранного объекта (в пикселях).


Пример  ( Использование этого примера )

В следующем примере рисуется пунктирная линия толщиной 3 пикселя с использованием методов moveTo() и lineTo().

С помощью метода lineStyle() задается толщина линии, равная 3 пикселям. Также настраивается запрет масштабирования. Задается красный цвет с 25-процентной прозрачностью. Для свойства CapsStyle выбраны квадратные концы (по умолчанию используются круглые).

Поскольку Graphics_moveToExample является экземпляром класса Sprite, он имеет доступ ко всем методам класса Graphics. Методы класса Graphics можно использовать для отрисовки непосредственно в объекте Sprite Graphic_moveToExample. Однако если не поместить векторный графический объект в Shape ограничиваются возможности управления им, его перемещения и изменения.

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

()метод 
public function readGraphicsData(recurse:Boolean = true):Vector.<IGraphicsData>

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 11.6, AIR 3.6

Запрашивает данные векторной графики у объекта Sprite или Shape (может также распространяться и на дочерние объекты). Результатом будет векторный массив (Vector) объектов IGraphicsData. Перед запросом к объекту отображения применяются преобразования, чтобы все возвращаемые контуры были в одном координатном пространстве. Координаты полученного набора результатов будут относительны рабочей области, а не данному объекту отображения.

В результат будут включены следующие типы объектов, с указанными ограничениями:

  • GraphicsSolidFill
  • GraphicsGradientFill
    • Метод readGraphicsData() возвращает все свойства градиентной заливки.
    • Полученная матрица будет близка, но не идентична входной матрице.
  • GraphicsEndFill
  • GraphicsBitmapFill
    • Полученная матрица будет близка, но не идентична входной матрице.
    • repeat всегда имеет значение true.
    • smooth всегда имеет значение false.
  • GraphicsStroke
    • Поддерживается thickness.
    • fill поддерживает заливки GraphicsSolidFill, GraphicsGradientFill и GraphicsBitmapFill, как описано выше.
    • Все остальные свойства имеют значения по умолчанию.
  • GraphicsPath
    • Поддерживаются только команды MOVE_TO, CURVE_TO и LINE_TO.

Следующие визуальные элементы и преобразования не могут быть представлены и не будут входить в результат:

  • маски;
  • текст, с одним исключением — статический текст, имеющий тип сглаживания anti-alias for animation (сглаживание для анимации), визуализируется как векторная фигура, поэтому он будет входить в результат;
  • заливки с затенением;
  • режимы наложения;
  • 9-фрагментное масштабирование;
  • треугольники (созданные методом drawTriangles());
  • непрозрачный фон;
  • настройки scrollrect;
  • псевдотрехмерные преобразования (2,5D);
  • невидимые объекты (имеющие свойство visible со значением false).

Параметры

recurse:Boolean (default = true) — Следует ли среде выполнения также запрашивать данные дочерних объектов отображения текущего объекта. На выполнение рекурсивного запроса может потребоваться больше времени и памяти. Результаты будут возвращены единым двумерным набором результатов, не сгруппированным по объектам отображения.

Возвращает
Vector.<IGraphicsData> — Векторный массив (Vector) объектов IGraphicsData, представляющий данные векторной графики связанного объекта отображения.

Связанные элементы API


Пример  ( Использование этого примера )

В следующем примере метод readGraphicsData() используется для получения данных векторной графики объекта отображения. Затем, когда пользователь щелкает мышью в рабочей области, эти данные визуализируются в виде другого объекта.

Обратите внимание, несмотря на то, что векторная фигура нарисована при помощи метода drawGraphicsData(), объекты векторных данных, получаемые методом readGraphicsData(), не полностью идентичны тем, что были переданы методу drawGraphicsData(). К примеру, результат включает команды GraphicsSolidFill и GraphicsEndFill, которые, хотя и подразумевались, но фактически не входили в исходные графические данные.

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

В следующем примере рассматривается использование класса GraphicsExample для рисования круга, прямоугольного примитива со скругленными углами и квадрата. Это можно сделать, выполнив следующие действия:
  1. Объявите свойство size для последующего использования при определении размера каждой фигуры.
  2. Объявите свойства, определяющие оранжевый цвет фона, темно-серый цвет рамки, размер рамки в пикселях, равный 0, радиус угла, равный 9 пикселям; также задайте расстояние между краем рабочей области и другими объектами, равное 5 пикселям.
  3. Используйте свойства, объявленные в предыдущих шагах, вместе со встроенными методами класса Graphics, чтобы нарисовать круг, прямоугольный примитив со скругленными углами и квадрат с координатами x = 0, y = 0.
  4. Повторно нарисуйте все эти фигуры у верхнего края рабочей области, начиная с точки x = 5, y = 5 с расстоянием 5 пикселей между ними.
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 ]Почему по-английски?
Содержимое Справочника ActionScript 3.0 отображается на английском языке

Не все части Справочника ActionScript 3.0 переводятся на все языки. Если какой-то текстовый элемент не переведен, он отображается на английском языке. Например, компонент ga.controls.HelpBox не переведен ни на один из языков. Это значит, что в русской версии справки компонент ga.controls.HelpBox будет отображаться на английском языке.