简体   繁体   English

用其他图像填充图像javascript / html5

[英]fill image with other image javascript/html5

I need help with the following resource http://www.filmfans.cz/test/index2.html I don't know how to change the colours of the pinquen after the click on the sample. 我需要以下资源的帮助, 网址为http://www.filmfans.cz/test/index2.html。我不知道如何在单击示例后更改pinquen的颜色。 I would like to do something similar as in the following link http://www.pixelbox.sk/fileadmin/Flash/cosmo_2.swf 我想做类似以下链接http://www.pixelbox.sk/fileadmin/Flash/cosmo_2.swf的操作

Here is my code 这是我的代码


    $(window).load(function(){ 
    var width = $(window).width();
    var height = $(window).height();

var c = document.getElementById("a"); var ctx = c.getContext("2d"); var can2 = document.createElement('canvas'); document.body.appendChild(can2) can2.width = c.width; can2.height= c.height; var ctx2 = can2.getContext("2d"); var test= new Image(); test.src = "tux.png"; test.onload = function() { ctx2.drawImage(test, 0, 0); } var img = new Image(); img.src = "2.png"; img.onload = function(){ ctx2.globalCompositeOperation = "source-in"; var pattern = ctx2.createPattern(img, "repeat"); ctx2.fillStyle=pattern; ctx2.fillRect(0,0,300,300); } }); $(document).ready(function () { $('.klik').click(function() { var adresa = $(this).children('img').attr('src'); var canvas = document.getElementById("a"); canvas.width = canvas.width;//blanks the canvas var c = canvas.getContext("2d"); var img = new Image(); img.src = adresa; img.onload = function(){ var pattern = c.createPattern(img, "repeat"); //c.globalCompositeOperation = "source-in"; c.fillStyle=pattern; c.fillRect(0,0,300,300); } // c.drawImage(img, 0, 0); //} //return false; }); }); </code> </pre>

Problem solved ! 问题解决了 !

Using a second, temporary canvas with source-in is the right idea: 正确的做法是使用第二个带有source-in临时画布:

 ctx2.drawImage(test, 0, 0);
 ctx2.globalCompositeOperation = 'source-in';
 var ptrn = ctx2.createPattern(pattern,'repeat');
 ctx2.fillStyle = ptrn;
 ctx2.fillRect(0,0,300,300);
 ctx.drawImage(can2,0,0)

live example: 现场示例:

http://jsfiddle.net/UcGrC/ http://jsfiddle.net/UcGrC/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM