HTML5 Canvas ...如果我有2个以上的图像,我可以用任何方式缩短我的代码吗?

时间:2011-08-19 09:41:30

标签: html5 canvas shortcode

http://jsfiddle.net/TCdpV/1/

<canvas id="img1" width="230" height="150" class="mainimage_large" style="margin: 0 0 0 10px;">
</canvas>


<canvas id="img2" width="230" height="150" class="mainimage_large" style="margin: 0 0 0 10px;">
</canvas>

这是我的JS

var canvas1 = document.getElementById('img1');
var ctx1 = canvas1.getContext('2d');
var img1 = document.createElement('IMG');
img1.onload = function () {

    ctx1.save();
    ctx1.beginPath();
    ctx1.moveTo(23, 0);
    ctx1.lineTo(250, 0);
    ctx1.lineTo(250, 150);
    ctx1.lineTo(0, 150);
    ctx1.lineTo(0, 30);
    ctx1.closePath();
    ctx1.clip();
    ctx1.drawImage(img1, 0, 0);
    ctx1.restore();
}
img1.src = "http://s1.jrnl.ie/media/2011/05/Ming-Ming-41-230x150.jpg";






var canvas2 = document.getElementById('img2');
var ctx2 = canvas2.getContext('2d');
var img2 = document.createElement('IMG');
img2.onload = function () {

    ctx2.save();
    ctx2.beginPath();
    ctx2.moveTo(23, 0);
    ctx2.lineTo(250, 0);
    ctx2.lineTo(250, 150);
    ctx2.lineTo(0, 150);
    ctx2.lineTo(0, 30);
    ctx2.closePath();
    ctx2.clip();
    ctx2.drawImage(img2, 0, 0);
    ctx2.restore();
}
img2.src = "http://www.reisenews-online.de/wp-content/uploads/2011/03/Pandab%C3%A4r-Fu-HU-230x150.jpg";

任何缩短我的代码的最佳方式?

BTW ..我在我的Wordpress循环中使用...

2 个答案:

答案 0 :(得分:1)

您只想缩短代码吗?

http://jsfiddle.net/TCdpV/3/

答案 1 :(得分:0)

嘿,我真的试着回答,但系统是没有css的愚蠢,告诉

您的帖子似乎包含未正确格式化为代码的代码。请使用代码工具栏按钮或CTRL + K键盘快捷键将所有代码缩进4个空格。有关更多编辑帮助,请单击[?]工具栏图标。

但事实是,我现在尝试了7次,我很生气;)



如果你正在寻找的话,只需使用'id'和'url'参数创建一个函数,其余的对我来说似乎足够短