ImageSetDrawingStroke
Sets the stroke properties for subsequent drawing operations on an image.
Syntax
ImageSetDrawingStroke( name [, attributeCollection] )Or as a member:
someImage.setDrawingStroke( [attributeCollection] )Arguments
name
any
Yes
The image to set the drawing stroke for. Can be a BoxImage object or image name.
attributeCollection
struct
No
A struct of stroke attributes. See below for supported keys.
Returns
BoxImage — The image object with updated drawing stroke settings.
Description
Sets the drawing stroke attributes for the specified image. Stroke attributes control how lines and shapes are drawn, including thickness, end cap style, line join style, and dash patterns.
Attribute Collection Keys
The attributeCollection struct supports the following optional keys:
width
float
The stroke width in pixels. Controls the thickness of lines and shape outlines.
Any positive number (e.g., 2.5)
endCaps
string
The end cap style for unclosed subpaths and dash segments.
"butt", "round", "square"
lineJoins
string
The line join style for path segment intersections.
"miter", "round", "bevel"
miterLimit
float
The miter limit for mitered line joins. Controls when a miter join is replaced with a bevel join.
Any positive number (e.g., 10.0)
dashArray
array
An array of floats defining the dash pattern. Alternating values represent lengths of opaque and transparent segments.
Array of floats (e.g., [10, 5, 2, 5])
dashPhase
float
The offset to start the dash pattern. Controls where in the dash pattern to begin.
Any number (e.g., 0.0)
End Cap Styles
butt- Ends with no added decoration (square end at the endpoint)round- Ends with a round decoration (semicircle beyond the endpoint)square- Ends with a square projection (square beyond the endpoint)
Line Join Styles
miter- Joins segments by extending outer edges until they meetround- Joins segments by rounding off the cornerbevel- Joins segments by connecting outer corners with a straight segment
Example
// Set basic stroke width
ImageSetDrawingStroke( myImage, { width: 3.0 } );
// Set width and end cap style
ImageSetDrawingStroke( myImage, { width: 5.0, endCaps: "round" } );
// Create a dashed line
ImageSetDrawingStroke( myImage, {
width: 2.0,
dashArray: [10, 5],
dashPhase: 0
} );
// Full configuration
ImageSetDrawingStroke( myImage, {
width: 4.0,
endCaps: "round",
lineJoins: "miter",
miterLimit: 10.0,
dashArray: [15, 5, 5, 5],
dashPhase: 0
} );
// As a member function (chainable)
myImage.setDrawingStroke({ width: 2 })
.drawLine(0, 0, 100, 100)
.setDrawingStroke({ width: 4, dashArray: [5, 5] })
.drawRect(50, 50, 100, 100, false);Related BIFs
ImageSetDrawingColor
ImageDrawLine
ImageDrawRect
ImageDrawOval
ImageSetAntiAliasing
Notes
The
nameargument can be aBoxImageobject or the name of an image variable in the current context.All attributes in the
attributeCollectionare optional - only provide the ones you want to change.If an attribute is not provided, the corresponding stroke property remains unchanged from its current value.
The operation modifies the image in place when used as a member function.
Returns the modified image object for chaining or further processing.
Default values:
width=1.0,endCaps="round",lineJoins="bevel"The stroke settings affect all subsequent drawing operations until changed again.
Last updated
Was this helpful?
