Я разрабатывал приложение для производителя Tiles и для этого использовал HTML5 Canvas. При выборе плитки Стена и пол должны быть отделаны выбранной плиткой. Для прямоугольника стены это было довольно прямо вперед, и мне это удалось, но при использовании того же самого для пола, это не было похоже на плитку для пола. Некоторая трансформация / поворот / Угол отсутствовала.
Я ищу в блогах какой-то угол на плитке пола, но не могу найти правильного решения.
Ниже приведено изображение, которое я получаю из своего кода, и ниже также пример кода.
![enter image description here](https://i.stack.imgur.com/vzoTG.png)
Код: -
<canvas id="canvas1"></canvas>
<script>
var sources = {
wallTile: './assets/tile_347.jpg',
floorTile: './assets/tile_390.jpg',
};
function drawPattern(wallimg, floorimg, size, rectY) {
var canvas = document.getElementById('canvas1');
canvas.width = 1366;
canvas.height = 800;
var tempCanvas = document.createElement("canvas");
var tCtx = tempCanvas.getContext("2d");
tempCanvas.width = size;
tempCanvas.height = size;
tCtx.drawImage(wallimg, 0, 0, wallimg.width, wallimg.height, 0, 0, size, size);
var tempFloorCanvas = document.createElement("canvas");
var tFloorCtx = tempFloorCanvas.getContext("2d");
tempFloorCanvas.width = size;
tempFloorCanvas.height = size;
tFloorCtx.drawImage(floorimg, 0, 0, floorimg.width, floorimg.height, 0, 0, size, size);
tFloorCtx.fill();
tFloorCtx.setTransform(1,1,-0.5,1,30,10);
tFloorCtx.rotate(50);
// use getContext to use the canvas for drawing
var ctx = canvas.getContext('2d');
// ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.fillStyle = ctx.createPattern(tempCanvas, 'repeat');
// ctx.rotate(0);
ctx.beginPath();
ctx.rect(0,rectY,canvas.width, 400);
ctx.closePath();
ctx.fill();
var roomImg = new Image();
roomImg.src = './assets/room11.png';
roomImg.onload = function() {
ctx.drawImage(roomImg, 0, 0, canvas.width, canvas.height);
ctx.restore();
}
ctx.fillStyle = ctx.createPattern(tempFloorCanvas, 'repeat');
ctx.beginPath();
ctx.rect(0,400,canvas.width, 400);
ctx.closePath();
ctx.fill();
ctx.restore();
}
var img = new Image();
img.src = './assets/wallTile.jpg';
img.onload = function(){
var wallimg = this;
var floorimg = new Image();
floorimg.src = './assets/floorTile.jpg';
floorimg.onload = function(){
drawPattern(wallimg, this, 100, 0);
}
}
</script>
Если есть другое решение для реализации этой функции, или если есть сторонние плагины, которые могут превратить мой холст в некоторый угол, чтобы он выглядел как пол комнаты, пожалуйста, дайте мне знать.
Я новичок в canvas и html5.