在某些应用中,您可能希望将旋转吸附到某些值附近。吸附使形状在规定值附近“粘性”,并像四舍五入一样工作。
最常见的吸附值是 0、45、90、135、180 等等。我们允许的吸附值简化旋转,使其恰好为这些值。
例如,如果您有一个在 45 度的吸附点,用户将无法将旋转设置为 43 度,它将被四舍五入到 45 度。但是用户仍然可以将旋转设置为 35 度,因为它距离 45 度太远,因此不会被吸附。
说明:尝试旋转形状。查看在 0、90、180 和 270 度的吸附效果。
Konva Shape transform and selection Demoview raw<!DOCTYPE html> <html> <head> <script src="https://unpkg.com/konva@9.3.18/konva.min.js"></script> <meta charset="utf-8" /> <title>Konva Rotation snap Demo</title> <style> body { margin: 0; padding: 0; overflow: hidden; background-color: #f0f0f0; } </style> </head>
<body> <div id="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 text = new Konva.Text({ x: 50, y: 70, fontSize: 30, text: 'Rotate me', draggable: true, }); layer.add(text);
var tr1 = new Konva.Transformer({ nodes: [text], centeredScaling: true, rotationSnaps: [0, 90, 180, 270], resizeEnabled: false, }); layer.add(tr1); </script> </body> </html>
|