旋转吸附

获取Konva最新的信息

在一些应用里面,你可能想旋转接近到某些特定角度时吸附上去。吸附功能可以让图形旋转时黏在你设定的角度就像对旋转角度四舍五入一样。

吸附的角度通常我们会设置为0, 45, 90, 135, 180 等等,同时也可以限制图形只能旋转到这些角度。

例如,如果你设置吸附角度为45°,那么用户就不能将它旋转到43°,但是他可以旋转到35°,因为离45°还有一些距离。

说明:试试旋转下面图形,它会吸附到 0°, 90°, 180°, 270°。

Konva Shape transform and selection Demoview raw
<!DOCTYPE html>
<html>
<head>
<!-- USE DEVELOPMENT VERSION -->
<script src="https://unpkg.com/konva@4.0.18/konva.min.js"></script>
<meta charset="utf-8" />
<title>Konva Centered Scaling 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({
node: text,
centeredScaling: true,
rotationSnaps: [0, 90, 180, 270],
resizeEnabled: false
});
layer.add(tr1);

layer.draw();
</script>
</body>
</html>