Gizli img öğelerine bir grup görüntü yükleyen bir kodum ve her görüntüyü tuval üzerine yerleştiren bir Javascript döngüsü var. Ancak, her görüntüyü tuval üzerine yerleştirildiğinde bir daire olacak şekilde kırpmak istiyorum.HTML Canvas'da birden fazla kırpma bölgesi olabilir mi?
$$('#avatars img').each(function(avatar) {
var canvas = $('canvas');
var context = canvas.getContext('2d');
var x = Math.floor(Math.random() * canvas.width);
var y = Math.floor(Math.random() * canvas.height);
context.beginPath();
context.arc(x+24, y+24, 20, 0, Math.PI * 2, 1);
context.clip();
context.strokeStyle = "black";
context.drawImage(document.getElementById(avatar.id), x, y);
context.stroke();
});
Sorun, sadece ilk görüntü çizilir (veya görünür):
Benim döngü şöyle görünür.
ben kırpma mantığı kaldırırsanız:
$$('#avatars img').each(function(avatar) {
var canvas = $('canvas');
var context = canvas.getContext('2d');
var x = Math.floor(Math.random() * canvas.width);
var y = Math.floor(Math.random() * canvas.height);
context.drawImage(document.getElementById(avatar.id), x, y);
});
Sonra bütün görüntüleri çizilir.
Her görüntüyü ayrı ayrı kırpmanın bir yolu var mı?
Kırpma alanını resimler arasında tüm tuval olacak şekilde sıfırlamayı denedim ancak çalışmadı.
için referans belgesi kontrol etmelidir - bu oldu! çok teşekkür ederim. Görüntülerin farklı şekilde çizilmesiyle ilgili önerinizden emin değilsiniz. Imm drawimage kodu şimdi sahip olduğum şekilde çalışıyor, sağladığınız kodu kullanmanın yararı ne olurdu? – emh
Bu basit, tüm görüntü dosyalarını sayfaya eklemeniz gerekmez. Image() sınıfına kaynak gösterme yeterli olacaktır. Bu özelliklerin kaldırılması, sayfanızın sayfa yüklemelerine bu sayfanın yüklenmesine izin vermez. Sayfa yükleme (performans sorunu) süresi hakkında konuşuyoruz :) – Myra
Resim benim için düzgün kırpılmıyor .. – CarbonDry