Information Technology Reference
In-Depth Information
var grayLightness = function(r,g,b,a) {
var val = parseInt(
(Math.max(r,g,b)+Math.min(r,g,b))*0.5
);
return [val,val,val,a];
};
var grayLuminosity = function(r,g,b,a) {
var val = parseInt(
(r*0.21)+(g*0.71)+(b*0.07)
);
return [val,val,val,a];
};
var grayAverage = function(r,g,b,a) {
var val = parseInt(
(r+g+b)/3.0
);
return [val,val,val,a];
};
Mit grayLuminosity() verwenden wir in Abbildung 5.29 die zweite Formel und
ersetzen die RGB-Komponenten jedes Pixels durch den neu berechneten Wert.
Nicht vergessen dürfen wir in dieser und allen folgenden Berechnungen, dass
RGBA-Werte nur Integerzahlen sein dürfen - die JavaScript-Methode parse-
Int() stellt dies sicher.
Der Algorithmus für sepiaTone() entstammt einem Artikel von Zach Smith mit
dem Titel How do I ... convert images to greyscale and sepia tone using C#? (siehe
den verkürzten Weblink http://bit.ly/a2nxI6 ).
var sepiaTone = function(r,g,b,a) {
var rS = (r*0.393)+(g*0.769)+(b*0.189);
var gS = (r*0.349)+(g*0.686)+(b*0.168);
var bS = (r*0.272)+(g*0.534)+(b*0.131);
return [
(rS>255) ? 255 : parseInt(rS),
(gS>255) ? 255 : parseInt(gS),
(bS>255) ? 255 : parseInt(bS),
a
];
};
Search WWH ::




Custom Search