Class
ArcShape
Description
Used for drawing arcs in a vector graphics environment.
Properties
Name |
Type |
Read-Only |
Shared |
---|---|---|---|
Property descriptions
ArcShape.ArcAngle
ArcAngle As Double
The angle of the arc, in radians.
The following method, when called from the Paint event of a Window, creates an arc.
Var a As New ArcShape
a.ArcAngle = 1.57
a.FillColor = Color.Red
g.DrawObject(a)
ArcShape.BorderColor
BorderColor As Color
The color of the object's border.
ArcShape.BorderOpacity
BorderOpacity As Double
Indicates the level of opacity.
Degrees of transparency is currently supported only on macOS and Windows. On other platforms, the border is either visible (100%) or invisible.
The following code adds a border to an ArcShape:
Var a As New ArcShape
a.ArcAngle = 1.57
a.BorderOpacity = 100
a.FillColor = Color.Red
g.DrawObject(a)
ArcShape.BorderWidth
BorderWidth As Double
The width of the border, in points. The default is 1.
The width a Double value with a default of 1.0.
ArcShape.FillColor
FillColor As Color
The color of the interior of the shape.
ArcShape.FillOpacity
FillOpacity As Double
The opacity of the interior, from 0 (completely transparent) to 100 (opaque).
This example sets the Fill to 50% opacity.
Var a As New ArcShape
a.ArcAngle = 1.57
a.BorderOpacity = 100
a.BorderColor = &c0000ff
a.BorderWidth = 2.75
a.FillOpacity = 50
a.FillColor = Color.Red
g.DrawObject(a)
ArcShape.Height
Height As Double
The height of the arc.
This example sets the height and width of the shape to 150 pixels.
Var a As New ArcShape
a.Width = 150
a.Height = 150
a.BorderOpacity = 100
a.BorderColor = Color.Black
a.FillColor = Color.Teal
a.BorderWidth = 2.5
a.Rotation = -0.78
g.DrawObject(a)
ArcShape.Rotation
Rotation As Double
Clockwise rotation, in radians, around the X, Y point. Only set the rotation after you have drawn all your objects.
This code rotates the arc 0.9 radians.
Var a As New ArcShape
a.Height = 150
a.Width = 150
a.Rotation = 0.90
a.arcAngle = 1.57
a.BorderOpacity = 100
a.BorderColor = &c0000ff
a.BorderWidth = 2.75
a.FillOpacity = 50
a.FillColor = Color.Red
g.DrawObject(a)
ArcShape.Scale
Scale As Double
The scaling factor relative to the object's original size.
The following code rescales the arc by a factor of 1.5.
Var a As New ArcShape
a.Scale = 1.5
a.Rotation = .90
a.ArcAngle = 1.57
a.BorderOpacity = 100
a.BorderColor = &c0000ff
a.BorderWidth = 2.75
a.FillOpacity = 50
a.FillColor = Color.Red
g.DrawObject(a)
ArcShape.Segments
Segments As Integer
The number of polygon sides to use when approximation is needed. Zero means it's up to the renderer.
This example specifies the number of segments to use.
Var a As New ArcShape
a.Width = 60
a.Height = 120
a.Segments = 5
a.FillColor = Color.Red
g.DrawObject(a, a.Width, a.Height)
ArcShape.StartAngle
StartAngle As Double
The starting angle, in radians.
This code sets the starting angle to -1.57 radians:
Var a As New ArcShape
a.Height = 150
a.Width = 150
a.Rotation = 0.90
a.ArcAngle = 1.57
a.StartAngle = -1.57
a.BorderOpacity = 100
a.BorderColor = Color.Black
a.BorderWidth = 2.75
a.FillOpacity = 50
a.FillColor = Color.Red
g.DrawObject(a)
ArcShape.Width
Width As Double
The width of the arc.
This example sets the Width to 150 pixels.
Var a As New ArchShape
a.Width = 150
a.Height = 150
a.BorderOpacity = 100
a.BorderColor = Color.Black
a.FillColor = Color.Teal
a.BorderWidth = 2.5
a.Rotation = -0.78
g.DrawObject(a)
ArcShape.X
X As Double
The horizontal position of the center or main anchor point.
This example sets the horizontal position to 100 pixels from the left of the containing Canvas.
Var a As New ArcShape
a.Height = 150
a.Width = 150
a.ArcAngle = 1.57
a.StartAngle = -1.57
a.X = 100
a.BorderOpacity = 100
a.BorderColor = Color.Black
a.FillOpacity = 50
a.FillColor = Color.Red
g.DrawObject(a)
ArcShape.Y
Y As Double
The vertical position (down from top) position of the center or anchor point.
This example moves the position of the arc down 100 pixels from the top of the containing Canvas.
Var a As New ArcShape
a.Height = 150
a.Width = 150
a.ArcAngle = 1.57
a.StartAngle = -1.57
a.Y = 100
a.BorderOpacity = 100
a.BorderColor = Color.Black
a.FillOpacity = 50
a.FillColor = Color.Red
g.DrawObject(a)
Method descriptions
ArcShape.Contains
Contains(X As Double, Y As Double) As Boolean
Tests whether the object contains the point X, Y. Returns True if the arc contains the point specified by X, Y.
This code tests whether the ArcShape contains the passed point:
Var a As New ArcShape
a.Width = 75
a.Height = 75
a.BorderOpacity = 100
a.Bordercolor = Color.Black
a.FillColor = Color.Teal
a.BorderWidth = 2.5
a.Rotation = -0.78
If a.Contains(50, 50) Then
' draw something here..
End If
g.DrawObject(a)
Notes
A StartAngle of 0 means due east, i.e., a positive X value with Y = 0. Positive angles are clockwise, just as with Object2D rotation. The value of ArcAngle can be positive or negative, extending from the starting angle. If the angle is filled, it produces a wedge; this may be useful for making pie charts, for example.
The radius of the arc is determined by its Width and Height properties. These are inherited from RectShape. The default values of Width and Height are 100 pixels. This means that the default value of the radius is 100/2 = 50 pixels.
For ArcShape, BorderOpacity defaults to 0.
Sample code
The following method, when called from the Paint event of a Window, creates an arc.
Var a As New ArcShape
a.ArcAngle = 1.57
a.StartAngle = -1.57
a.FillColor = Color.Red
g.DrawObject(a)
Compatibility
Desktop and web project types on all supported operating systems.
See also
OvalShape parent class; CurveShape, FigureShape, FolderItem, Graphics, Group2D, Object2D, OvalShape, Picture, PixmapShape, RectShape, RoundRectShape, TextShape classes.