我正在尝试将画布元素放入“缩略图”类 div(来自引导程序)中。在这个画布内,我想画一个图像,然后在上面画一些东西。问题是,在我的解决方案中,画布内的图像不像我使用 img 标签时那样“自然”地表现。这张图片说明了我想说的:
正常图像:
画布图像:
这是我为每个人使用的代码。
普通的:
<li class="span3">
<div class="thumbnail">
<img src="Images/pasta1.jpg" data-src="holder.js/300x200" alt="">
<h3>PASTA 1</h3>
<p>Pasta a la xxx, con salsa de yyy en zzz.</p>
</div>
</li>
帆布:
<li class="span3">
<div class="thumbnail">
<canvas id="canvas" style="width: 100%; height: 100%;"></canvas>
<h3>PASTA 1</h3>
<p>Pasta a la xxx, con salsa de yyy en zzz.</p>
</div>
</li>
<script>
function drawImageTime(canvas_id,image_src,percent)
{
var canvas = document.getElementById(canvas_id);
var context = canvas.getContext('2d');
var image = new Image();
image.onload = function()
{
context.drawImage(image,0,0,image.width,image.height,0,0,canvas.width,canvas.height);
context.fillStyle = "rgba(0, 200, 100, 0.33)";
context.fillRect(0,0,canvas.width*(percent/100),canvas.height);
};
image.src = image_src;
}
drawImageTime('canvas','Images/pasta1.jpg',73);
</script>
我尝试为画布元素提供相同样式的图像,但这不起作用。手动调整画布元素的大小也不起作用。有任何想法吗?谢谢。