Exemplo n.º 1
0
 '应用反转变换': function () {
     canvas.processRgb(function (r, g, b) {
         return {
             r: 255 - r,
             g: 255 - g,
             b: 255 - b
         };
     });
 },
Exemplo n.º 2
0
 '应用RGB变换': function () {
     canvas.processRgb(function (r, g, b) {
         return {
             r: r * param['R'],
             g: g * param['G'],
             b: b * param['B']
         }
     });
 },
Exemplo n.º 3
0
 '应用对数变换': function () {
     canvas.processRgb(function (r, g, b) {
         var c = param['c'];
         return {
             r: c * Math.log(1 + r),
             g: c * Math.log(1 + g),
             b: c * Math.log(1 + b)
         };
     });
 },
Exemplo n.º 4
0
 '应用伽马较正': function () {
     canvas.processRgb(function (r, g, b) {
         var c = param['c3'],
             y = param['y2'];
         return {
             r: Math.pow(r / c, 1 / y) * c,
             g: Math.pow(g / c, 1 / y) * c,
             b: Math.pow(b / c, 1 / y) * c
         };
     });
 }
Exemplo n.º 5
0
 '应用幂律变换': function () {
     canvas.processRgb(function (r, g, b) {
         var c = param['c2'],
             y = param['y'];
         return {
             r: c * Math.pow(r, y),
             g: c * Math.pow(g, y),
             b: c * Math.pow(b, y)
         };
     });
 },
Exemplo n.º 6
0
 '应用线性变换': function () {
     canvas.processRgb(function (r, g, b) {
         var yuv = util.rgbToYuv(r, g, b),
             y = yuv.y,
             grey = 0;
         var a = param['a'],
             b = param['b'],
             c = param['c'],
             d = param['d'];
         if (y > b) {
             grey = d;
         } else if (y >= a && a <= b) {
             grey = (d - c) / (b - a) * (y - a) + c;
         } else {
             grey = c;
         }
         return {
             r: grey,
             g: grey,
             b: grey
         };
     });
 }