Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!DOCTYPE html>
<link rel="match" href="canvas-filter-opacity-alpha-and-fillStyle-expected.html"/>
<meta name="fuzzy" content="maxDifference=0-2; totalPixels=0-10000">
<body>
<canvas id="canvas" width="300" height="300"></canvas>
</body>
<script>
/*
The expected behavior when setting the opacity through different methods
is that the opacity of the resulting drawn element is the product of the opacity
value set by each of the methods.
*/
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
ctx.globalAlpha = 0.5;
ctx.fillStyle = 'rgba(0,0,0,0.5)';
ctx.filter = 'opacity(50%)';
ctx.fillRect(10, 10, 50, 50);
ctx.globalAlpha = 0.5;
ctx.fillStyle = 'rgba(0,0,0,0.25)';
ctx.filter = 'opacity(25%)';
ctx.fillRect(70, 10, 50, 50);
ctx.globalAlpha = 0.75;
ctx.fillStyle = 'rgba(0,0,0,0.5)';
ctx.filter = 'opacity(50%)';
ctx.fillRect(10, 70, 50, 50);
ctx.globalAlpha = 0.8;
ctx.fillStyle = 'rgba(0,0,0,0.2)';
ctx.filter = 'opacity(10%)';
ctx.fillRect(70, 70, 50, 50);
</script>