Reputation: 1249
How do I center the pattern fill of a FabricJS object? It seems the pattern is always oriented to top/left. I have tried setting originX and OriginY to 'center' on the pattern, the filled object, the canvas, nothing seems to help. Any idea?
Upvotes: 1
Views: 930
Reputation: 1249
I found the answer:
Patterns use offsets, and not origins. So, to simulate centering a pattern, consider the following requirements:
pattern = new fabric.Pattern({
source: function () {[...]},
repeat: 'repeat',
offsetX: [objectwidth/2] - [patternwidth/2],
offsetY: [objectheight/2] - [patternheight/2]
});
That did it! If you changed the scale on either of the items, you will need to compensate for that as well.
Upvotes: 1
Reputation: 2811
In Pattern Example of Fabric.js there are only int
values used as OriginX/Y.
Try to set it by number, to the half of your image size.
Upvotes: 0