Я пытаюсь поместить элемент холста внутри класса «миниатюры» div (из бутстрапа). Внутри этого холста я хочу нарисовать изображение, а затем нарисую что-нибудь над ним. Проблема заключается в том, что с моим решением изображение внутри холста не ведет себя «естественно», как при использовании тега img. Это изображения иллюстрируют то, что я пытаюсь сказать:Canvas in bootstrap 'thumbnail'
Normal Image:
холст Изображение:
Вот код, который я использовал для каждого из них.
Normal:
<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>
Canvas:
<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>
Я попытался дать тот же стиль изображений на холст элементов, но это не сработало. Также вручную изменение размера элемента холста не сработало. Есть идеи? Благодарю.