Всем привет! Столкнулся с такой вот задачей! Нужно картинку 24bit перевести в 8bit с помощью canvas ?
Не могу нагуглить алгоритм !?
Вот ссылка на прогу :
http://site.lighst.com/Graphic/Index.htm
работает только в opere т.к. не работает не где getImage и PutImage
функцию пытался написать
function Go_Bit ()
{
Return ();
Load ();
redata = cox.getImageData(0,0,575,340);
var sdata = redata.data;
var len = sdata.length;
var R,G,B;
for (var i = 0; i < len; i += 4) {
R=sdata[i],G=sdata[i+1],B=sdata[i+2];
var z = 0.222*R+0.707*G+0.071*B;
sdata[i]=z/8;
sdata[i+1] =z/7;
sdata[i+2] =z/5;
sdata[i+3] = sdata[i+3] ; // a
}
redata.data=sdata;
cox.putImageData(redata, 0, 0);
}
Но опять же не знаю алгоритм