1
Я создал код для рисования прямоугольника с помощью Fabricjs и заполнил прямоугольник рисунком изображения и с помощью «no-repeat». Вот код:Заполнить прямоугольник растянутым изображением с Fabricjs
<!DOCTYPE HTML>
<html>
<head>
<script src="js/fabric.min.js" ></script>
</head>
<body>
<script>
function addRect() {
var canvas = new fabric.Canvas('c');
fabric.Object.prototype.transparentCorners = false;
canvas.setWidth(800);
canvas.setHeight(600);
function loadPattern(url) {
fabric.util.loadImage(url, function(img) {
rect.fill = new fabric.Pattern({
source: img,
repeat: 'no-repeat',
});
canvas.renderAll();
});
}
rect = new fabric.Rect({
left: 100,
top: 100,
width: 200,
height: 200,
angle: 0,
stroke: 'red',
strokeWidth: 3,
});
canvas.add(rect);
loadPattern('images/test.png');
document.getElementById('fillpattern').onchange = function() {
loadPattern('images/' + this.value+'.png');
};
canvas.renderAll();
}
</script>
<button onclick="addRect()">add</button>
<select id="fillpattern" name="fillpattern">
<option value="horizontal">horizontal</option>
<option value="vertical">vertical</option>
<option value="diagonal">diagonal</option>
<option value="cross">cross</option>
<option value="test">test</option>
</select>
<div>
<canvas id="c">
</canvas>
</div>
</body>
</html>
Как я могу заполнить прямоугольник растянутым изображением?
выбираемых истинное свойство позволяет перемещать изображение внутри прямоугольника, также добавляя простую функцию переведенной с некоторым входом диапазона типа вы можете управлять масштабирование на canvas.item (0) и можете дать лучший контроль. – Libretto