Javascript 替换HTML5画布上的颜色范围?

Javascript 替换HTML5画布上的颜色范围?,javascript,text,colors,html5-canvas,Javascript,Text,Colors,Html5 Canvas,我有一个时间戳问题,我正在使用画布烧录照片 目前,我把它涂成青色,然后应用一个差异过滤器来解释背景中相似的颜色。但是,当背景为灰色时,差异过滤器无法解决此问题,并且时间戳可能无法读取 是否可以在过滤后仅在文本上查找一系列颜色并替换这些颜色?我想找一个灰色的范围,然后用纯黑色或白色来代替这个范围 我做了很多环顾四周的工作,但似乎只能找到如何将这样的过滤器应用于整个图像的说明,而不仅仅是文本 这里有一个我做的例子,它现在看起来有点像,但在真实的代码中,我使用网络摄像头输入,所以图像绘制略有不同 v

我有一个时间戳问题,我正在使用画布烧录照片

目前,我把它涂成青色,然后应用一个差异过滤器来解释背景中相似的颜色。但是,当背景为灰色时,差异过滤器无法解决此问题,并且时间戳可能无法读取

是否可以在过滤后仅在文本上查找一系列颜色并替换这些颜色?我想找一个灰色的范围,然后用纯黑色或白色来代替这个范围

我做了很多环顾四周的工作,但似乎只能找到如何将这样的过滤器应用于整个图像的说明,而不仅仅是文本

这里有一个我做的例子,它现在看起来有点像,但在真实的代码中,我使用网络摄像头输入,所以图像绘制略有不同

var image=newimage();
image.src=”http://i.stack.imgur.com/UFBxY.png";
image.onload=绘图;
var canvas=document.getElementById(“canvas”);
var ctx=canvas.getContext(“2d”);
函数drawImage(img、x、y、过滤器){
ctx.beginPath()
ctx.filter=过滤器
ctx.drawImage(img,x,y);
ctx.closePath()
}
ctx.globalCompositeOperation=“差异”;
ctx.fillStyle=“青色”;
fillText(“你好,世界!”,150100);
函数绘图(){
drawImage(图像,0,0,'无');
}

很难准确判断您的情况。
…但这里有一个想法,我们可以去掉文本的“阴影”使其流行起来。
我要做的是写两次文本,但有一点偏移


var pixelated=null
var image=新图像();
image.src=”http://i.stack.imgur.com/UFBxY.png";
image.onload=绘图;
var canvas=document.getElementById(“canvas”);
var ctx=canvas.getContext(“2d”);
函数drawImage(img、x、y、过滤器){
ctx.beginPath()
ctx.filter=过滤器
ctx.drawImage(img,x,y);
ctx.closePath()
}
函数drawText(文本,x,y){
ctx.font=“60px Verdana”;
ctx.fillStyle=“黑色”;
填充文本(文本,x+2,y+2);
ctx.fillStyle=“青色”;
ctx.fillText(text,x,y);
}
函数绘图(){
drawImage(图像,0,0,'模糊(1px)';
drawImage(图像,140,0,'无');
drawText(“你好,世界!”,40,80)
}

很难准确判断您的情况。
…但这里有一个想法,我们可以去掉文本的“阴影”使其流行起来。
我要做的是写两次文本,但有一点偏移


var pixelated=null
var image=新图像();
image.src=”http://i.stack.imgur.com/UFBxY.png";
image.onload=绘图;
var canvas=document.getElementById(“canvas”);
var ctx=canvas.getContext(“2d”);
函数drawImage(img、x、y、过滤器){
ctx.beginPath()
ctx.filter=过滤器
ctx.drawImage(img,x,y);
ctx.closePath()
}
函数drawText(文本,x,y){
ctx.font=“60px Verdana”;
ctx.fillStyle=“黑色”;
填充文本(文本,x+2,y+2);
ctx.fillStyle=“青色”;
ctx.fillText(text,x,y);
}
函数绘图(){
drawImage(图像,0,0,'模糊(1px)';
drawImage(图像,140,0,'无');
drawText(“你好,世界!”,40,80)
}

一个完整的功能示例显示了“时间戳可能无法读取”这一问题,可以帮助我们帮助您。。。使用您提供的代码将很难提供帮助。一个完整的功能示例显示“时间戳可能无法读取”问题可以帮助我们帮助您。。。使用您提供的代码将很难提供帮助抱歉,我会看看是否可以编写一个代码示例,这对我来说不起作用,因为文本大小非常小,所以阴影要么作用不大,要么会对图像造成极大干扰。如果您想查看,我已经用一个片段更新了我的注释。我也更新了我的答案,我认为阴影适合小字体,但这样小的字体肯定不适合阅读,我想要使用差异过滤器的“怪异文本”。唯一的问题是,当显示灰色像素时,由于差异过滤器的工作方式,它的可读性变差,因此我想知道如何指定颜色范围并用指定的颜色替换该范围。抱歉,我会看看是否可以编写代码示例,这对我来说不起作用,因为文本大小非常小,因此,阴影要么作用不大,要么会对图像产生极大的干扰。如果你想查看,我已经用一个片段更新了我的评论。我也更新了我的答案,我认为阴影适合小字体,但这样小的字体肯定不适合阅读。我想要使用差异过滤器的“怪异文本”。唯一的问题是,当显示灰色像素时,由于差异过滤器的工作方式,它的可读性变差,因此我想知道如何指定颜色范围,并用指定的颜色替换该范围。