Mit dem Attribut globalAlpha kann ein globaler Transparenzwert im Bereich von
0.0 (volle Transparenz) bis einschließlich 1.0 (keine Transparenz) definiert werden.
Dieser wird auf Formen und Bilder angewendet, bevor sie in das HTMLCanvasElement gezeichnet
werden.
Wird versucht, einen Wert ausserhalb des gültigen Bereichs zuzuweisen, so behält das Attribut seinen bisherigen Wert.
Initialwert ist 1.0.
globalAlpha = value
Die Abbildung zeigt zwei unterschiedliche globale Alphaeinstellungen.

var objImg = new Image();
// IE
if(document.all && !window.opera)
window.onload = function(){ drawIt();};
// Sonstige
else
objImg.onload = function(){ drawIt();}
objImg.src = "bild.gif";
function drawIt(){
var objCanvas = document.getElementById("canvas_id");
// Falls das Objekt unterstützt wird
if(objCanvas.getContext){
// Kontext
var objContext = objCanvas.getContext('2d');
var objPattern = objContext.createPattern(objImg, "repeat");
// Falls es sich NICHT um einen IE handelt
if(!(document.all && !window.opera))
// Füllmethode mit Patternobjekt auszeichnen
objContext.fillStyle = objPattern;
// Rechteck zeichnen
objContext.fillRect(0, 0, parseInt(objCanvas.width), parseInt(objCanvas.height))
objContext.translate(20, 0);
// Drei Formen ohne Transparenz zeichnen
drawRectangle(objContext, "#ff0");
drawTriangle(objContext, "#f33");
drawEllipse(objContext, "#30f");
// Ursprung vertikal verschieben
objContext.translate(0, 70);
// Transparenz auf 40 Prozent setzen
objContext.globalAlpha = 0.4;
// Drei Formen mit Transparenz zeichnen
drawRectangle(objContext, "#ff0");
drawTriangle(objContext, "#f33");
drawEllipse(objContext, "#30f");
}else{
// Sonstiger Code
}
}
// Funktion zum Zeichnen eines Quadrats
function drawRectangle(objContext, strCol){
objContext.beginPath();
objContext.rect(10, 10, 50, 50);
objContext.fillStyle = strCol;
objContext.fill();
}
// Funktion zum Zeichnen eines Dreiecks
function drawTriangle(objContext, strCol){
objContext.beginPath();
objContext.moveTo(105, 10);
objContext.lineTo(130, 60);
objContext.lineTo(80, 60);
objContext.lineTo(105, 10)
objContext.fillStyle = strCol;
objContext.fill();
}
// Funktion zum Zeichnen eines Kreises
function drawEllipse(objContext, strCol){
objContext.beginPath();
objContext.moveTo(200, 35);
objContext.arc(175, 35, 25, 0, 2*Math.PI, true);
objContext.fillStyle = strCol;
objContext.fill();
}
Zunächst wird der canvas mit einem Muster gefüllt (siehe
createPattern).
Im nächsten Schritt werden drei Formen ohne Transparenz gezeichnet. Danach wird der globale Transparenzwert
mit globalAlpha auf 40 Prozent gesetzt. Im Anschluss werden die gleichen Formen nochmals mit
Transparenz und vertikaler Verschiebung gezeichnet.