Kumaş.js ile basit bir araç oluşturuyorum ve klavyeyi kullanarak nesneyi taşımak için işlevsellik eklemem gerekiyor.Ve sıkışıp kaldım.Şu an konsolda klavye olaylarına giriş yapıyorum Çalıştığını biliyorum.Ama bu fucntionality'yi tuval resmime nasıl ekleyeceğimi bilmiyorum.Ve yardım?Kumaşla görüntüyü hareket ettiren js
$(function(){
var canvas = new fabric.Canvas('imageCanvas', {
backgroundColor: 'rgba(255, 255, 255, 0)'
});
var imageLoader = document.getElementById('imageLoader');
imageLoader.addEventListener('change', handleImage, false);
function handleImage(e) {
var reader = new FileReader();
reader.onload = function (event) {
var img = new Image();
img.onload = function() {
var imgInstance = new fabric.Image(img, {
})
canvas.add(imgInstance);
}
img.src = event.target.result;
}
reader.readAsDataURL(e.target.files[0]);
}
canvas.on('mouse:down', function(options) {
console.log(options.e.clientX, options.e.clientY);
});
var canvasWrapper = document.getElementById('canvasWrapper');
canvasWrapper.tabIndex = 1000;
canvasWrapper.addEventListener("keydown", doKeyDown, false);
function doKeyDown(e) {
document.onkeydown = function(e) {
switch (e.keyCode) {
case 38: /* Up arrow was pressed */
console.log('up works')
break;
case 40: /* Down arrow was pressed */
console.log('down works')
break;
case 37: /* Left arrow was pressed */
console.log('left works')
break;
case 39: /* Right arrow was pressed */
console.log('right works')
break;
}
}
}
var imageSaver = document.getElementById('imageSaver');
imageSaver.addEventListener('click', imageBorder, false);
imageSaver.addEventListener('click', saveImage, false);
function imageBorder(e) {
canvas.item(0).hasControls = canvas.item(0).hasBorders = false;
}
function saveImage(e) {
this.href = canvas.toDataURL({
format: 'png',
quality: 1
});
this.download = 'test.png'
if(saveImage) {
location.reload();
}else {
alert('somtehing went wrong')
}
}
});
Teşekkür ederim. Bu işi tam olarak bu şekilde yaptım.Çok için çok teşekkürler. – burakukula
Anahtarların doğru bir şekilde bağlandığını biliyorum, ancak .lefti doğru gönderir ve diğer yönler işe yaramaz, garip. Chrome'da Mac klavye. –
@PaulRedmond: Bu bariz olabilir, ama her ihtimale karşı --- her bir 'davanın ardından' break 'ifadeleriniz var mı? Bunları bırakmak, sahip olduğunuz davranışa neden olabilir. –