Я объединил два изображения и некоторый текст, используя html5 canvas, но я не могу поместить изображения так же, как я могу, с текстом. С текстом я просто изменил свойства x и y, чтобы поместить его на холст, но это, похоже, не работает с моими двумя изображениями. Они просто установлены на 0, 0 (вверху слева) независимо.Добавление текста после компоновки изображений, html5 canvas
<canvas width="850" height="450" id="canvas"></canvas>
<script>
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var img1 = loadImage('<%= image_url(@entry.picture(:small)) %>', main);
var img2 = loadImage("<%= image_url('overlay.png') %>", main);
var imagesLoaded = 0;
function main() {
imagesLoaded += 1;
if(imagesLoaded == 2) {
// composite now
ctx.drawImage(img1, 0, 0);
ctx.globalAlpha = 1;
ctx.drawImage(img2, 0, 0);
}
}
function loadImage(src, onload) {
var img = new Image();
img.onload = function() {
ctx.drawImage(img, 0, 0);
ctx.font="30px sans-serif";
ctx.fillText("<%= full_name(@entry.user) %>", 60, 435);
ctx.fillStyle="#333333";
};
img.src = src;
return img;
}
</script>
В моей голове, линия ctx.drawImage(img1, 0, 0,);
должна позиционировать изображение, когда значения 0 и 0 изменяются, но это не так. Мои знания Javascript невелики, поэтому, возможно, что-то очевидное, но я просто не могу понять это. Любая помощь будет принята с благодарностью.
Спасибо.
Спасибо, что нашли время для публикации thi s! Действительно полезно! – abbott567