Playing with initial decode map impl.
This commit is contained in:
		
							parent
							
								
									3f8ba7d56a
								
							
						
					
					
						commit
						d76f5f6815
					
				| @ -227,7 +227,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() { | ||||
|               data: new Uint8Array(w * h * 4) | ||||
|             }; | ||||
|             var pixels = imgData.data; | ||||
|             imageObj.fillRgbaBuffer(pixels, imageObj.decode); | ||||
|             imageObj.fillRgbaBuffer(pixels); | ||||
|             handler.send('obj', [objId, 'Image', imgData]); | ||||
|           }, handler, xref, resources, image, inline); | ||||
|       } | ||||
|  | ||||
							
								
								
									
										21
									
								
								src/image.js
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								src/image.js
									
									
									
									
									
								
							| @ -104,10 +104,13 @@ var PDFImage = (function PDFImageClosure() { | ||||
|   }; | ||||
| 
 | ||||
|   PDFImage.prototype = { | ||||
|     getComponents: function getComponents(buffer, decodeMap) { | ||||
|     getComponents: function getComponents(buffer) { | ||||
|       var bpc = this.bpc; | ||||
|       if (bpc == 8) | ||||
|         return buffer; | ||||
|       var decodeMap = this.decode; | ||||
|       //if (decodeMap)
 | ||||
|       //  debugger;
 | ||||
|       //if (bpc == 8)
 | ||||
|       //  return buffer;
 | ||||
| 
 | ||||
|       var width = this.width; | ||||
|       var height = this.height; | ||||
| @ -160,6 +163,14 @@ var PDFImage = (function PDFImageClosure() { | ||||
| 
 | ||||
|           var remainingBits = bits - bpc; | ||||
|           output[i] = buf >> remainingBits; | ||||
|           if (decodeMap) { | ||||
|             var x = output[i]; | ||||
|             var dmin = decodeMap[0]; | ||||
|             var dmax = decodeMap[1]; | ||||
|             var max = Math.pow(2, bpc) - 1; | ||||
|             var val = max * (dmin + x * ((dmax - dmin)/(max))); | ||||
|             output[i] = val; | ||||
|           } | ||||
|           buf = buf & ((1 << remainingBits) - 1); | ||||
|           bits = remainingBits; | ||||
|         } | ||||
| @ -210,7 +221,7 @@ var PDFImage = (function PDFImageClosure() { | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     fillRgbaBuffer: function fillRgbaBuffer(buffer, decodeMap) { | ||||
|     fillRgbaBuffer: function fillRgbaBuffer(buffer) { | ||||
|       var numComps = this.numComps; | ||||
|       var width = this.width; | ||||
|       var height = this.height; | ||||
| @ -221,7 +232,7 @@ var PDFImage = (function PDFImageClosure() { | ||||
|       var imgArray = this.getImageBytes(height * rowBytes); | ||||
| 
 | ||||
|       var comps = this.colorSpace.getRgbBuffer( | ||||
|         this.getComponents(imgArray, decodeMap), bpc); | ||||
|         this.getComponents(imgArray), bpc); | ||||
|       var compsPos = 0; | ||||
|       var opacity = this.getOpacity(); | ||||
|       var opacityPos = 0; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user