3 https://bugzilla.mozilla.org/show_bug.cgi?id=1567544
5 Test that globalCompositeOperation is applied to SVG images drawn with `drawImage`.
7 <title>Test for Bug
1567544</title>
8 <script src=
"/tests/SimpleTest/SimpleTest.js"></script>
9 <link rel=
"stylesheet" href=
"/tests/SimpleTest/test.css">
11 <canvas id=
"c" width=
"100" height=
"50"></canvas>
13 function isPixel(ctx
, x
,y
, r
,g
,b
,a
, pos
, colour
, d
) {
14 var pixel
= ctx
.getImageData(x
, y
, 1, 1);
15 var pr
= pixel
.data
[0],
19 ok(r
-d
<= pr
&& pr
<= r
+d
&&
20 g
-d
<= pg
&& pg
<= g
+d
&&
21 b
-d
<= pb
&& pb
<= b
+d
&&
22 a
-d
<= pa
&& pa
<= a
+d
,
23 "pixel "+pos
+" is "+pr
+","+pg
+","+pb
+","+pa
+"; expected "+colour
+" +/- "+d
);
26 SimpleTest
.waitForExplicitFinish();
27 addLoadEvent(function () {
29 var canvas
= document
.getElementById('c');
30 var ctx
= canvas
.getContext('2d');
33 ctx
.arc(50, 50, 37.5, 0, Math
.PI
* 2);
34 ctx
.fillStyle
= 'red';
36 ctx
.globalCompositeOperation
= 'destination-in';
37 ctx
.drawImage(document
.getElementById('roundrectangle.svg'), 50, 40);
39 isPixel(ctx
, 82,38, 0,0,0,0, "82,38", "0,0,0,0", 0);
40 isPixel(ctx
, 82,48, 255,0,0,255, "82,48", "255,0,0,255", 0);
46 <img src=
"image_roundrectangle.svg" id=
"roundrectangle.svg" class=
"resource">