Search code examples
javascriptpaperjs

Paperjs group.pivot not setting to new coordinates


I'm trying to set the pivot point of a group that contains a raster image to the center of the screen to no avail.

Please see my current code here: condesandbox example

Any help will be much appreciated


Solution

  • Based on your code example, I guess that you just have to set the position of your raster to be the view center and its pivot point will automatically be the same by default.
    Here is a sketch demonstrating a possible solution.

    // Create the raster.
    const raster = new Raster({
        source: 'http://assets.paperjs.org/images/marilyn.jpg',
        // When image is loaded...
        onLoad: () => {
            // ...place it at center.
            raster.position = view.center;
        }
    });
    
    // Include raster in a group.
    const group = new Group(raster);
    
    // Mark center with a circle.
    new Path.Circle({
        center: view.center,
        radius: 10,
        fillColor: 'blue'
    });
    
    // Scale the group (the pivot point is bounds center by default).
    group.scale(0.5);