Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何用javascript中的另一个RGB替换PNG中特定RGB的所有像素?_Javascript - Fatal编程技术网

如何用javascript中的另一个RGB替换PNG中特定RGB的所有像素?

如何用javascript中的另一个RGB替换PNG中特定RGB的所有像素?,javascript,Javascript,我会使用画布,但我不熟悉画布,我希望图像绘制得不好。我想用随机颜色替换图像中的所有白色像素,我已经找到了随机颜色函数,但我不知道如何替换像素。您需要使用getImageData()和putImageData()对画布进行像素访问 如果您想知道i+=4,原因是getImageData()返回的图像数据是一个红色/绿色/蓝色/阿尔法值数组;在比较或更改内容时,我们希望跳过alpha(不透明度)值 const canvas=document.getElementById(“c”); const ct

我会使用画布,但我不熟悉画布,我希望图像绘制得不好。我想用随机颜色替换图像中的所有白色像素,我已经找到了随机颜色函数,但我不知道如何替换像素。

您需要使用
getImageData()
putImageData()
对画布进行像素访问

如果您想知道
i+=4
,原因是
getImageData()
返回的图像数据是一个红色/绿色/蓝色/阿尔法值数组;在比较或更改内容时,我们希望跳过alpha(不透明度)值

const canvas=document.getElementById(“c”);
const ctx=canvas.getContext(“2d”);
//先在画布上画些愚蠢的东西
函数resetCanvas(){
ctx.fillStyle=“紫色”;
ctx.fillRect(0,0,canvas.width,canvas.height);
ctx.font=“bold 65px无衬线”;
ctx.fillStyle=“白色”;
ctx.fillText(“eyyy”,15100);
}
函数replaceColor(srcR、srcG、srcB、dstR、dstG、dstB){
const im=ctx.getImageData(0,0,canvas.width,canvas.height);
对于(变量i=0;i
重置
用橙色代替白色
将白色替换为随机颜色



您的意思是用相同的随机颜色替换所有白色像素,还是用唯一的随机颜色替换每个白色像素?相同的颜色。