From dc913b989df9fb1720cac6d26aa377b722841218 Mon Sep 17 00:00:00 2001 From: sbarman Date: Mon, 11 Jul 2011 14:09:16 -0700 Subject: [PATCH] interpolated functions --- pdf.js | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/pdf.js b/pdf.js index d03bc745d..a96ea8742 100644 --- a/pdf.js +++ b/pdf.js @@ -5365,9 +5365,25 @@ var PDFFunction = (function() { } return array; }, - constructInterpolated: function() { - TODO('unhandled type of function'); - this.func = function () { return [ 255, 105, 180 ]; } + constructInterpolated: function(str, dict) { + var c0 = dict.get('C0') || [0]; + var c1 = dict.get('C1') || [1]; + var n = dict.get('N'); + + var length = c0.length; + var diff = []; + for (var i = 0; i < length; ++i) + diff.push(c1[i] - c0[i]); + + this.func = function (args) { + var x = args[0]; + + var out = []; + for (var j = 0; j < length; ++j) + out.push(c0[j] + (x^n * diff[i])); + + return out; + } }, constructStiched: function() { TODO('unhandled type of function');