Konva Shape transform and selection styling Demoview raw
<!DOCTYPE html> <html> <head> <!-- USE DEVELOPMENT VERSION --> <scriptsrc="https://unpkg.com/[email protected]/konva.min.js"></script> <metacharset="utf-8" /> <title>Konva Select and Transform Complex Styling Demo</title> <style> body { margin: 0; padding: 0; overflow: hidden; background-color: #f0f0f0; } </style> </head>
<body> <divid="container"></div> <script> var width = window.innerWidth; var height = window.innerHeight;
var stage = new Konva.Stage({ container: 'container', width: width, height: height, });
var layer = new Konva.Layer(); stage.add(layer);
var circle = new Konva.Circle({ x: 150, y: 150, radius: 70, fill: 'red', draggable: true, }); layer.add(circle);
// create new transformer var tr = new Konva.Transformer({ anchorStyleFunc: (anchor) => { // anchor is Konva.Rect instance // you manually change its styling anchor.cornerRadius(10); if (anchor.hasName('top-center') || anchor.hasName('bottom-center')) { anchor.height(6); anchor.offsetY(3); anchor.width(30); anchor.offsetX(15); } if (anchor.hasName('middle-left') || anchor.hasName('middle-right')) { anchor.height(30); anchor.offsetY(15); anchor.width(6); anchor.offsetX(3); } // you also can set other properties // e.g. you can set fillPatternImage to set icon to the anchor }, nodes: [circle], }); layer.add(tr); </script> </body> </html>
Enjoying Konva? Please consider to
support the project.