有没有人在javascript中实现泛洪填充算法以用于HTML Canvas?
我的要求很简单:从单个点开始使用单一颜色泛光,其中边界颜色是指定点处颜色的某个特定值以上的任何颜色.
var r1, r2; // red values
var g1, g2; // green values
var b1, b2; // blue values
var actualColorDelta = Math.sqrt((r1 - r2)*(r1 - r2) + (g1 - g2)*(g1 - g2) + (b1 - b2)*(b1 - b2))
function floodFill(canvas, x, y, fillColor, borderColorDelta) {
...
}
Run Code Online (Sandbox Code Playgroud)
更新:
我编写了自己的洪水填充实现,紧随其后.它很慢但很准确.大约37%的时间用于两个低级数组函数,这些函数是原型框架的一部分.我推测,它们是通过推和弹来调用的.其余大部分时间都花在主循环中.
var ImageProcessing;
ImageProcessing = {
/* Convert HTML color (e.g. "#rrggbb" or "#rrggbbaa") to object with properties r, g, b, a.
* If no alpha value is given, …Run Code Online (Sandbox Code Playgroud)