1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-22 16:18:08 +02:00

Fix inverted 1-bit images in SVG backend

This commit is contained in:
Jani Pehkonen 2017-11-28 21:24:27 +02:00
parent 3e34eb31d9
commit 58b214eab3
4 changed files with 13 additions and 6 deletions

View file

@ -182,7 +182,7 @@ var convertImgDataToPng = (function convertImgDataToPngClosure() {
return idat;
}
function encode(imgData, kind, forceDataSchema) {
function encode(imgData, kind, forceDataSchema, isMask) {
var width = imgData.width;
var height = imgData.height;
var bitDepth, colorType, lineSize;
@ -220,8 +220,8 @@ var convertImgDataToPng = (function convertImgDataToPngClosure() {
offsetLiterals += lineSize;
}
if (kind === ImageKind.GRAYSCALE_1BPP) {
// inverting for B/W
if (kind === ImageKind.GRAYSCALE_1BPP && isMask) {
// inverting for image masks
offsetLiterals = 0;
for (y = 0; y < height; y++) {
offsetLiterals++; // skipping predictor
@ -265,10 +265,10 @@ var convertImgDataToPng = (function convertImgDataToPngClosure() {
return createObjectURL(data, 'image/png', forceDataSchema);
}
return function convertImgDataToPng(imgData, forceDataSchema) {
return function convertImgDataToPng(imgData, forceDataSchema, isMask) {
var kind = (imgData.kind === undefined ?
ImageKind.GRAYSCALE_1BPP : imgData.kind);
return encode(imgData, kind, forceDataSchema);
return encode(imgData, kind, forceDataSchema, isMask);
};
})();
@ -1161,7 +1161,7 @@ SVGGraphics = (function SVGGraphicsClosure() {
var width = imgData.width;
var height = imgData.height;
var imgSrc = convertImgDataToPng(imgData, this.forceDataSchema);
var imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);
var cliprect = this.svgFactory.createElement('svg:rect');
cliprect.setAttributeNS(null, 'x', '0');
cliprect.setAttributeNS(null, 'y', '0');