| OLD | NEW |
| (Empty) |
| 1 <!DOCTYPE html> | |
| 2 <html> | |
| 3 <head> | |
| 4 <style> | |
| 5 canvas { display: inline-block; } | |
| 6 </style> | |
| 7 </head> | |
| 8 <body> | |
| 9 <canvas id="source-over" width="80" height="80"></canvas> | |
| 10 <canvas id="source-in" width="80" height="80"></canvas> | |
| 11 <canvas id="source-out" width="80" height="80"></canvas> | |
| 12 <canvas id="source-atop" width="80" height="80"></canvas> | |
| 13 <br> | |
| 14 <canvas id="destination-over" width="80" height="80"></canvas> | |
| 15 <canvas id="destination-in" width="80" height="80"></canvas> | |
| 16 <canvas id="destination-out" width="80" height="80"></canvas> | |
| 17 <canvas id="destination-atop" width="80" height="80"></canvas> | |
| 18 <br> | |
| 19 <canvas id="lighter" width="80" height="80"></canvas> | |
| 20 <canvas id="xor" width="80" height="80"></canvas> | |
| 21 <script> | |
| 22 var compositeOps = [ | |
| 23 'source-over', | |
| 24 'source-in', | |
| 25 'source-out', | |
| 26 'source-atop', | |
| 27 'destination-over', | |
| 28 'destination-in', | |
| 29 'destination-out', | |
| 30 'destination-atop', | |
| 31 'lighter', | |
| 32 'xor' | |
| 33 ]; | |
| 34 | |
| 35 for (var i = 0; i < compositeOps.length; i++) { | |
| 36 var op = compositeOps[i]; | |
| 37 var ctx = document.getElementById(op).getContext('2d'); | |
| 38 ctx.fillStyle = 'red'; | |
| 39 ctx.fillRect(5, 5, 40, 40); | |
| 40 | |
| 41 ctx.globalCompositeOperation = op; | |
| 42 | |
| 43 ctx.fillStyle = 'deepskyblue'; | |
| 44 ctx.beginPath(); | |
| 45 ctx.arc(45,45,20,0,Math.PI*2,true); | |
| 46 ctx.fill(); | |
| 47 } | |
| 48 </script> | |
| 49 </body> | |
| 50 </html> | |
| OLD | NEW |