我正在尝试使用Canvas / jQuery在背景图像上放置图像和文本,但我不知道如何做到这一点。我需要这样做http://static.catfly.com/quiz/which-friend-should-be-kidnapted-by-aliens/en/cover.jpg
我已经尝试并为博客找到了一些脚本,但它不是完整的脚本,它只是一个圆圈,任何人都可以帮助我吗?
以下是我的剧本。
<body onload="displayImage()">
<script type="text/javascript">
//Global variables
var myImage = new Image(); // Create a new blank image.
// Load the image and display it.
function displayImage()
{
// Get the canvas element.
canvas = document.getElementById("myCanvas");
// Make sure you got it.
if (canvas.getContext)
{
// Specify 2d canvas type.
ctx = canvas.getContext("2d");
// When the image is loaded, draw it.
myImage.onload = function() {
// Load the image into the context.
ctx.drawImage(myImage, 0, 0);
// Get and modify the image data.
changeImage();
}
// Define the source of the image.
myImage.src = "https://pbs.twimg.com/profile_image/843519123711803393/pyYe9LFq_400x400.jpg";
}
}
function changeImage()
{
ctx.strokeStyle = "white";
ctx.lineWidth = "100";
ctx.beginPath();
ctx.arc(100, 100, 150, 0, Math.PI * 2, true);
ctx.closePath();
ctx.stroke();
}
</script>
<canvas id="myCanvas" width="200" height="200"></canvas>
</body>
答案 0 :(得分:1)
其中一个问题是画布仅为200x200,圆的线宽为100,并且为白色,因此在绘制时它会填充大部分画布(在这种情况下,它也会在画布区域外略微绘制)。
并且,有问题的图像也有一个加载错误,这可能是这里的主要原因(应始终添加onerror + onabort处理程序)。
只需调整线宽,修复图像,我还建议将画布设置得更大(可以使用图像尺寸进行设置)。