mirror of
https://github.com/konvajs/konva.git
synced 2025-12-19 10:58:20 +08:00
Fix сolor calculation
This commit is contained in:
@@ -20,14 +20,16 @@
|
|||||||
green = this.green(),
|
green = this.green(),
|
||||||
blue = this.blue(),
|
blue = this.blue(),
|
||||||
alpha = this.alpha(),
|
alpha = this.alpha(),
|
||||||
i, brightness;
|
i, brightness, ab, iab;
|
||||||
|
|
||||||
for (i = 0; i < nPixels; i += 4) {
|
for (i = 0; i < nPixels; i += 4) {
|
||||||
brightness = (0.34 * data[i] + 0.5 * data[i + 1] + 0.16 * data[i + 2])/255;
|
brightness = (0.34 * data[i] + 0.5 * data[i + 1] + 0.16 * data[i + 2])/255;
|
||||||
data[i] = brightness*red; // r
|
ab = alpha * brightness;
|
||||||
data[i + 1] = brightness*green; // g
|
iab = (1 - alpha) * brightness;
|
||||||
data[i + 2] = brightness*blue; // b
|
|
||||||
data[i + 3] = brightness*alpha; // alpha
|
data[i] = red * ab + data[i] * iab; // r
|
||||||
|
data[i + 1] = green * ab + data[i + 1] * iab; // g
|
||||||
|
data[i + 2] = blue * ab + data[i + 2] * iab; // b
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -92,7 +94,7 @@
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
return Math.round(val);
|
return val;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user