在图像上覆盖 HTML5 画布

Overlay HTML5 canvas over image(在图像上覆盖 HTML5 画布)

本文介绍了在图像上覆盖 HTML5 画布的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想要一张从我的数据库上传的图片,在它上面,相同大小的相同位置是 HTML5 画布.

I want to have an image which is uploaded from my database and on top of it the exact same size in the same position is a HTML5 canvas.

我发现的大多数解决方案我一直在使用 JQuery/JavaScript,但是如果可能的话,我想要一个类似的解决方案,因为图像是从数据库输出的,并且页面上可能有多个图像,并且只使用 CSS3每张图片都有一个画布.

Most of the solutions I have found I have been using JQuery/JavaScript, however I want a similar solution if possible just using CSS3 as the images are being outputted from a database and there can be more than one image on the page and each image will have a canvas.

我怎样才能做到这一点?

How can I achieve this?

推荐答案

是的.

您可以完全在 CSS 中完成此操作,但您必须为每个图像添加一些特定的 HTML 管道.

You can do this entirely in CSS, but you will have to add some specific HTML plumbing for each image.

如果您厌倦了额外的管道,javascript 可以为您完成大部分管道.

If you ever get tired of the extra plumbing, javascript could do most of the plumbing for you.

这是纯 CSS 版本的 Fiddle:

Here is a Fiddle of the CSS-only version:

http://jsfiddle.net/m1erickson/g3sTL/

HTML:

<div class="outsideWrapper">
    <div class="insideWrapper">
        <img src="aG91c2UtaWNvbi5qcGc=" class="coveredImage">
        <canvas class="coveringCanvas"></canvas>
    </div>
</div>

当然,在您的版本中,您可以将图像 src 替换为动态数据库调用以获取图像.

Of course, in your version, you would replace the image src with your dynamic database call to fetch the image.

CSS:

.outsideWrapper{ 
    width:256px; height:256px; 
    margin:20px 60px; 
    border:1px solid blue;}
.insideWrapper{ 
    width:100%; height:100%; 
    position:relative;}
.coveredImage{ 
    width:100%; height:100%; 
    position:absolute; top:0px; left:0px;
}
.coveringCanvas{ 
    width:100%; height:100%; 
    position:absolute; top:0px; left:0px;
    background-color: rgba(255,0,0,.1);
}

这篇关于在图像上覆盖 HTML5 画布的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:在图像上覆盖 HTML5 画布