<!DOCTYPE html>
<title>Canvas test: 2d.composite.canvas.source-over</title>
<script src="../tests.js"></script>
<link rel="stylesheet" href="../tests.css">
<link rel="prev" href="2d.composite.image.lighter.html" title="2d.composite.image.lighter">
<link rel="next" href="2d.composite.canvas.destination-over.html" title="2d.composite.canvas.destination-over">
<body class="show_output">
<p>
 <a href="2d.composite.image.lighter.html" accesskey="p" title="[p] 2d.composite.image.lighter">&lt;</a>
 <a href="index.html">[index]</a>
 <a href="2d.composite.canvas.destination-over.html" accesskey="n" title="[n] 2d.composite.canvas.destination-over">&gt;</a>
<h1><a href="index.2d.html">2d</a>.<a href="index.2d.composite.html">composite</a>.<a href="index.2d.composite.canvas.html">canvas</a>.source-over</h1>
<p class="desc"></p>
<div class="refs">References:
<ul>
<li><a href="spec.html#testrefs.2d.composite.source-over">2d.composite.source-over</a>

</ul>
</div>

<p class="output">Actual output:</p>
<canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas>
<p class="output expectedtext">Expected output:<p><img src="2d.composite.canvas.source-over.png" class="output expected" id="expected" alt="">
<ul id="d"></ul>
<script>
_addTest(function(canvas, ctx) {


var canvas2 = document.createElement('canvas');
canvas2.width = canvas.width;
canvas2.height = canvas.height;
var ctx2 = canvas2.getContext('2d');
ctx2.drawImage(document.getElementById('yellow75.png'), 0, 0);
ctx.fillStyle = 'rgba(0, 255, 255, 0.5)';
ctx.fillRect(0, 0, 100, 50);
ctx.globalCompositeOperation = 'source-over';
ctx.drawImage(canvas2, 0, 0);
_assertPixelApprox(canvas, 50,25, 218,255,36,223, "50,25", "218,255,36,223", 5);


});
</script>
<img src="../images/yellow75.png" id="yellow75.png" class="resource">

