При запуске кода для смешивания между изображением и фоном я не мог решить, почему он не работает. Я делаю это с использованием смешивания холста, потому что у него больше совместимости с перекрестными браузерами, чем css3 background-blend-mode, но у меня есть проблема с его рендерингом, поскольку вы увидите, что снимок ниже изображений вообще не смешивается. Я любитель с javascript, поэтому я, возможно, что-то не хватает.Смешивание холста не работает
\t \t var canvas=document.getElementById("header_photo");
\t \t var ctx=canvas.getContext("2d");
\t \t var cw=canvas.width;
\t \t var ch=canvas.height;
\t \t ctx.globalCompositeOperation = "source-over";
\t \t var img = new Image();
\t \t img.onload = start;
\t \t img.src = "https://i.stack.imgur.com/Yfi8y.jpg";
\t \t var images = new Image();
\t \t images.onload = starting;
\t \t images.src = "https://i.stack.imgur.com/Ut7Wk.jpg";
\t \t function start(){
\t \t var c1=scaleIt(img,1);
\t \t canvas.width=c1.width/1;
\t \t canvas.height=c1.height/1;
\t \t ctx.drawImage(c1,0,0);
\t \t ctx.globalCompositeOperation = 'multiply';
\t \t }
\t \t function starting(){
\t \t var c1=scaleIt(images,1);
\t \t canvas.width=c1.width/1;
\t \t canvas.height=c1.height/1;
\t \t ctx.drawImage(c1,0,0);
\t \t }
\t \t function scaleIt(source,scaleFactor){
\t \t var c=document.createElement('canvas');
\t \t var ctx=c.getContext('2d');
\t \t var w=source.width*scaleFactor;
\t \t var h=source.height*scaleFactor;
\t \t c.width=w;
\t \t c.height=h;
\t \t ctx.drawImage(source,0,0,w,h);
\t \t ctx.globalCompositeOperation = 'source-out';
\t \t return(c);
\t \t }
html, body {
height: 100%;
overflow-x: hidden; }
header {
width: 100%;
height: 100%; }
header #header_photo {
width: 100%;
height: auto;
position: absolute;
opacity: 1; }
<header>
<canvas id="header_photo"></canvas>
</header>
благодаря @Kaiido, я не видел, ты был очень услужливо! –
Не могли бы вы помочь мне с этим сообщением: http://stackoverflow.com/questions/41510240/canvas-fillrect-and-drawimage-combination-doesnt-work Я тоже пытаюсь разместить прямоугольник в этом коде –