Style
Style is used for changing the visual styles of items contained within a Paper.js project and is returned by item.style
and project.currentStyle
.
All properties of Style are also reflected directly in Item
, i.e.: item.fillColor
.
To set multiple style properties in one go, you can pass an object to item.style
. This is a convenient way to define a style once and apply it to a series of items:
Example: Styling paths
var path = new Path.Circle(new Point(80, 50), 30);
path.style = {
fillColor: new Color(1, 0, 0),
strokeColor: 'black',
strokeWidth: 5
};
Example: Styling text items
var text = new PointText(view.center);
text.content = 'Hello world.';
text.style = {
fontFamily: 'Courier New',
fontWeight: 'bold',
fontSize: 20,
fillColor: 'red',
justification: 'center'
};
Example: Styling groups
var path1 = new Path.Circle({
center: [100, 50],
radius: 30
});
var path2 = new Path.Rectangle({
from: [170, 20],
to: [230, 80]
});
var group = new Group(path1, path2);
// All styles set on a group are automatically
// set on the children of the group:
group.style = {
strokeColor: 'black',
dashArray: [4, 10],
strokeWidth: 4,
strokeCap: 'round'
};
Properties
view
The view that this style belongs to.
Read only.
Type:
View
Stroke Style
strokeColor
The color of the stroke.
Type:
Color
⟋null
Example:Setting the stroke color of a path:
// Create a circle shaped path at { x: 80, y: 50 } // with a radius of 35: var circle = new Path.Circle(new Point(80, 50), 35); // Set its stroke color to RGB red: circle.strokeColor = new Color(1, 0, 0);
strokeWidth
The width of the stroke.
Default:
1
Type:
Number
Example:Setting an item's stroke width:
// Create a circle shaped path at { x: 80, y: 50 } // with a radius of 35: var circle = new Path.Circle(new Point(80, 50), 35); // Set its stroke color to black: circle.strokeColor = 'black'; // Set its stroke width to 10: circle.strokeWidth = 10;
strokeCap
The shape to be used at the beginning and end of open
Path
items, when they have a stroke.Values:
'round'
,'square'
,'butt'
Default:
'butt'
Type:
String
Example:A look at the different stroke caps:
var line = new Path(new Point(80, 50), new Point(420, 50)); line.strokeColor = 'black'; line.strokeWidth = 20; // Select the path, so we can see where the stroke is formed: line.selected = true; // Set the stroke cap of the line to be round: line.strokeCap = 'round'; // Copy the path and set its stroke cap to be square: var line2 = line.clone(); line2.position.y += 50; line2.strokeCap = 'square'; // Make another copy and set its stroke cap to be butt: var line2 = line.clone(); line2.position.y += 100; line2.strokeCap = 'butt';
strokeJoin
The shape to be used at the segments and corners of
Path
items when they have a stroke.Values:
'miter'
,'round'
,'bevel'
Default:
'miter'
Type:
String
Example:A look at the different stroke joins:
var path = new Path(); path.add(new Point(80, 100)); path.add(new Point(120, 40)); path.add(new Point(160, 100)); path.strokeColor = 'black'; path.strokeWidth = 20; // Select the path, so we can see where the stroke is formed: path.selected = true; var path2 = path.clone(); path2.position.x += path2.bounds.width * 1.5; path2.strokeJoin = 'round'; var path3 = path2.clone(); path3.position.x += path3.bounds.width * 1.5; path3.strokeJoin = 'bevel';
strokeScaling
Specifies whether the stroke is to be drawn taking the current affine transformation into account (the default behavior), or whether it should appear as a non-scaling stroke.
Default:
true
Type:
Boolean
dashOffset
The dash offset of the stroke.
Default:
0
Type:
Number
dashArray
Specifies an array containing the dash and gap lengths of the stroke.
Default:
[]
Type:
Array of
Numbers
Example:
var path = new Path.Circle(new Point(80, 50), 40); path.strokeWidth = 2; path.strokeColor = 'black'; // Set the dashed stroke to [10pt dash, 4pt gap]: path.dashArray = [10, 4];
miterLimit
The miter limit of the stroke. When two line segments meet at a sharp angle and miter joins have been specified for
strokeJoin
, it is possible for the miter to extend far beyond thestrokeWidth
of the path. The miterLimit imposes a limit on the ratio of the miter length to thestrokeWidth
.Default:
10
Type:
Number
Fill Style
fillColor
The fill color.
Type:
Color
⟋null
Example:Setting the fill color of a path to red:
// Create a circle shaped path at { x: 80, y: 50 } // with a radius of 35: var circle = new Path.Circle(new Point(80, 50), 35); // Set the fill color of the circle to RGB red: circle.fillColor = new Color(1, 0, 0);
fillRule
The fill-rule with which the shape gets filled. Please note that only modern browsers support fill-rules other than
'nonzero'
.Values:
'nonzero'
,'evenodd'
Default:
'nonzero'
Type:
String
Shadow Style
shadowColor
The shadow color.
Type:
Color
⟋null
Example:Creating a circle with a black shadow:
var circle = new Path.Circle({ center: [80, 50], radius: 35, fillColor: 'white', // Set the shadow color of the circle to RGB black: shadowColor: new Color(0, 0, 0), // Set the shadow blur radius to 12: shadowBlur: 12, // Offset the shadow by { x: 5, y: 5 } shadowOffset: new Point(5, 5) });
shadowBlur
The shadow’s blur radius.
Default:
0
Type:
Number
shadowOffset
The shadow’s offset.
Default:
0
Type:
Point
Selection Style
selectedColor
The color the item is highlighted with when selected. If the item does not specify its own color, the color defined by its layer is used instead.
Type:
Color
⟋null
Character Style
fontFamily
The font-family to be used in text content.
Default:
'sans-serif'
Type:
String
fontWeight
The font-weight to be used in text content.
Default:
'normal'
Type:
String
⟋Number
fontSize
The font size of text content, as a number in pixels, or as a string with optional units
'px'
,'pt'
and'em'
.Default:
10
Type:
Number
⟋String
leading
The text leading of text content.
Default:
fontSize * 1.2
Type:
Number
⟋String
Paragraph Style
justification
The justification of text paragraphs.
Values:
'left'
,'right'
,'center'
Default:
'left'
Type:
String
Was this helpful?