globalCompositeOperation: กำหนดการผสมสีระหว่าง Shape ใหม่และเก่า
มี 12 โหมด (Porter-Duff Compositing Operators):
source-over(Default) - ใหม่ทับเก่าsource-in- ใหม่แสดงเฉพาะทับเก่าsource-out- ใหม่แสดงเฉพาะนอกเก่าsource-atop- ใหม่ทับเก่า (เฉพาะส่วนทับ)destination-over- เก่าทับใหม่destination-in- เก่าแสดงเฉพาะทับใหม่destination-out- เก่าลบส่วนทับใหม่ (Erase)destination-atop- เก่าทับใหม่ (เฉพาะส่วนทับ)lighter- รวมสี (Additive)darker- ลบสี (Subtractive)copy- ใหม่แทนที่เก่าทั้งหมดxor- Exclusive OR (ทับกันแล้วโปร่งใส)
ตัวอย่างทดสอบทุกโหมด
var compositeTypes = [
'source-over','source-in','source-out','source-atop',
'destination-over','destination-in','destination-out','destination-atop',
'lighter','darker','copy','xor'
];
for (var i = 0; i < compositeTypes.length; i++) {
var ctx = document.getElementById('tut'+i).getContext('2d');
ctx.fillStyle = "#FF3366";
ctx.fillRect(15, 15, 70, 70); // สี่เหลี่ยมแรก (Destination)
ctx.globalCompositeOperation = compositeTypes[i];
ctx.fillStyle = "#0066FF";
ctx.beginPath();
ctx.arc(75, 75, 35, 0, Math.PI*2, true); // วงกลมทับ (Source)
ctx.fill();
}
ใช้สำหรับ: Masking, Clipping, Special Effects, Erasing