window.onload = function() { var IM = new DOMMatrix([1, 0, 0, 1, 0, 0]);
try { var ctx = document.getElementById("c1").getContext("2d");
assert.equal(ctx.getTransform(), IM, "Transform is identity by default");
assert.equal(
ctx.getTransform().invertSelf(),
IM, "Inverse transform is identity by default"
);
var m = new DOMMatrix([1, 2, 3, 4, 5, 6]);
ctx.setTransform(m);
assert.equal(ctx.getTransform(), m, "Transform successfully set");
var badVals = [
["string"],
[-1],
["string", 1, 2, 3, 4, 5],
[{ obj: true }, 1, 2, 3, 4, 5],
];
for (var i = 0; i < badVals.length; ++i) {
try {
ctx.setTransform(...badVals[i]);
} catch {}
assert.equal(
ctx.getTransform(),
m, "Expected |setTransform(" + badVals[i] + ")| to not change transform"
);
}
ctx.setTransform(IM); var noopVals = [
[Number.NaN, 1, 2, 3, 4, 5],
[Infinity, 1, 2, 3, 4, 5],
];
for (var i = 0; i < noopVals.length; ++i) {
ctx.setTransform(...noopVals[i]);
assert.equal(
ctx.getTransform(),
IM, "Illegal float values result in a no-op"
);
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.