說我有一個矩形的畫布。我想拿走那塊帆布並對角分割,並且能夠操縱這些碎片來做我想做的任何事情。如何將畫布對角地或非方形地分割
我的最終目標是對角地分割一個矩形,並將兩部分以相反的方向在屏幕外移動。我正在考慮在動畫循環中完全在畫布中完成此操作,或者將每個片段轉換爲圖像元素並使用CSS3動畫來移動這些片段。我只是想找出最好的方法來做到這一點。
下面的代碼,codepen鏈接和圖像只是爲了說明我希望我的畫布被拆分的位置。你會發現它不是一個完全相同的分裂。
http://codepen.io/FranciscoG/pen/YPjzbQ
<div id="container">
<img id="dog" src="http://i.imgur.com/1GUzYh9.jpg" width="375"
height="667">
</div>
<script>
var container = document.getElementById('container');
var dogImg = document.getElementById('dog');
function convertImageToCanvas(image) {
var canvas = document.createElement("canvas");
canvas.width = image.width;
canvas.height = image.height;
canvas.getContext("2d").drawImage(image, 0, 0);
return canvas;
}
function drawLine(canvas) {
var context = canvas.getContext('2d');
context.beginPath();
context.moveTo(0,0);
context.lineTo(345, 0);
context.lineTo(0, 567);
context.lineTo(0,0);
context.stroke();
context.closePath();
return canvas;
};
var newDog = convertImageToCanvas(dogImg);
var divided = drawLine(newDog);
container.innerHTML = "";
container.appendChild(divided)
</script>
給予好評。是的...我更喜歡你的想法。它更簡單快捷。我的大腦偶爾會關注一種方法(裁剪)並忽略另一種更簡單的方法(圖像畫布)。我的頭腦有時會很煩人! :-o – markE 2015-03-03 03:06:06
@markE剪輯是一種好方法,但我們需要從未使用過的resetClip。是的,頭腦是棘手的朋友。有一次,我只是讓我的思緒徘徊,而它從未迴歸。 :-P – K3N 2015-03-03 07:42:19
這是完美的!謝謝你的幫助 – Francisc0 2015-03-03 12:57:49