Quelle imagebitmap_structuredclone_utils.js
Sprache: JAVA
var gImage1; var gImage2; var gImageBitmap1; var gImageBitmap2;
// Bug 1239752. var gImageData; var gImageBitmap3;
function comparePixelColor(
testImgageData,
groundTruthImageData,
x,
y,
tolerance,
info
) {
ok(
testImgageData.width == groundTruthImageData.width &&
testImgageData.height == groundTruthImageData.height, "testImgageData and groundTruthImageData should have the same dimension."
);
var index = (groundTruthImageData.width * y + x) * 4; var r = groundTruthImageData.data[index + 0]; var g = groundTruthImageData.data[index + 1]; var b = groundTruthImageData.data[index + 2]; var a = groundTruthImageData.data[index + 3]; var newR = testImgageData.data[index + 0]; var newG = testImgageData.data[index + 1]; var newB = testImgageData.data[index + 2]; var newA = testImgageData.data[index + 3]; var isTheSame =
Math.abs(r - newR) <= tolerance &&
Math.abs(g - newG) <= tolerance &&
Math.abs(b - newB) <= tolerance &&
Math.abs(a - newA) <= tolerance;
ok(
isTheSame, "[" +
info + "] " + "newImageData(" +
newR + "," +
newG + "," +
newB + "," +
newA + ") should equal to imageData(" +
r + "," +
g + "," +
b + "," +
a + ")."
);
}
function compareImageBitmapWithImageElement(imageBitmap, imageElement) { var canvas1 = document.createElement("canvas"); var canvas2 = document.createElement("canvas");
var imageData1 = ctx1.getImageData(0, 0, canvas1.width, canvas1.height); var imageData2 = ctx2.getImageData(0, 0, canvas2.width, canvas2.height);
// Create an array of pixels that is going to be tested. var pixels = []; var xGap = imageElement.naturalWidth / 4; var yGap = imageElement.naturalHeight / 4; for (var y = 0; y < imageElement.naturalHeight; y += yGap) { for (var x = 0; x < imageElement.naturalWidth; x += xGap) {
pixels.push({ x, y });
}
}
// Also, put the button-right pixel into pixels.
pixels.push({
x: imageElement.naturalWidth - 1,
y: imageElement.naturalHeight - 1,
});
// Do the test. for (var pixel of pixels) {
comparePixelColor(imageData2, imageData1, pixel.x, pixel.y, 0);
}
}
function compareImageBitmapWithImageData(imageBitmap, imageData, info) { var canvas1 = document.createElement("canvas");
var imageData1 = ctx1.getImageData(0, 0, canvas1.width, canvas1.height);
// Create an array of pixels that is going to be tested. var pixels = []; var xGap = imageBitmap.width / 4; var yGap = imageBitmap.height / 4; for (var y = 0; y < imageBitmap.height; y += yGap) { for (var x = 0; x < imageBitmap.width; x += xGap) {
pixels.push({ x, y });
}
}
// Also, put the button-right pixel into pixels.
pixels.push({ x: imageBitmap.width - 1, y: imageBitmap.height - 1 });
// Do the test. for (var pixel of pixels) {
comparePixelColor(imageData1, imageData, pixel.x, pixel.y, 5, info);
}
}
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.