如何将图像设置为<canvas> background </canvas>

时间:2013-02-19 19:27:19

标签: javascript jquery html5 canvas

我正在开发一个项目,在桌子下面有一个表格和画布字段。

我需要将其中一张照片作为背景,而我的情况则是tshirt.png。

到目前为止,我已经完成了以下工作。我有两个文件(index.html&amp; jQuery.js)

索引

<html>
  <head>
<script src="js/jQuery.js"></script>
 </head>
   <table border="1">
        <tr>
    <td>#</td>
    <td>filename</td>
    <td>x</td>
    <td>y</td>
    <td>z</td>
        </tr>

<tr>
    <td>1</td>
    <td><img src="images/sheep.png" width="40px" height="40px"></img></td>
    <td><input type="text" value="" name="x"></td>
    <td><input type="text" value="" name="y"></td>
    <td><input type="text" value="" name="z"></td>
</tr>
<tr>
    <td>2</td>
    <td><img src="images/tshirt.png" width="40px" height="40px"></td>
    <td><input type="text" value=""></td>
    <td><input type="text" value=""></td>
    <td><input type="text" value=""></td>
  </tr>
  <tr>
    <td>3</td>
    <td>item.png</td>
    <td><input type="text" value=""></td>
    <td><input type="text" value=""></td>
    <td><input type="text" value=""></td>
   </tr>
    </table>

   <section id="main">
   <canvas  id="canvas" width="1024" height="768" style="border:1px solid red;">    
   </canvas>
   </section>
</html>

的jquery.js

function doFirst(){
    var x = document.getElementById('canvas');
    canvas = x.getContext('2d');

    var pic = new Image();
    pic.src = "images/sheep.png";
    pic.addEventListener("load", function() { canvas.drawImage(pic,0,0,100,200)}, false);

    var background = new Image();
    background.src = "images/tshirt.png";
    background.addEventListener("load",function(){
        canvas.drawImage(background,0,250,200,300)}, false);
    }
    window.addEventListener("load", doFirst, false);

欢迎任何帮助

1 个答案:

答案 0 :(得分:0)

画布肯定采用了不同的思维方式和方法,但记得有时候退一步想一个更“简单”的方法,这将有助于过度设计你的代码。

只需使用CSS来定义背景

background: url("images/tshirt.png");

以下是JavaScript via jQuery from a previous post

中的设置方法