JS 上传一张图片让其部分变灰色

上传一张图片,让图片变为灰色。下面这个代码是一个写了gray函数,但是它的图片路径是在HTML里给好的。

image.src = gray(image);

我在html里有个canvas,在里面创建了一个图片image.

var image = new Image();
  image.src=this.result;

这个时候怎么写?

阅读 3k
1 个回答
新手上路,请多包涵

是让图片全部变成灰色还是部分变成灰色?前者直接传一个灰色图片就好,后者获取要变灰的部分,然后直接像素值相减就可
` if(this.imageStatus.invert){

        var w = dest_box.w;
        var h = dest_box.h;
        var x = x1+ this.size.width * 0.5 + x0;
        var y = y1+ this.size.height * 0.5 + y0;
        if(Math.abs(this.imageStatus.rotateCW/90)%2 == 1){
            w = dest_box.h;
            h = dest_box.w;
            x = y1 + this.size.width * 0.5 + x0;
            y = x1 + this.size.height * 0.5 + y0;
        }
        var canvasData = ctx.getImageData(x, y, w, h);
        var binaryData = canvasData.data;
        colorInvertProcess(binaryData,canvasData.width*canvasData.height*4);
        ctx.putImageData(canvasData, x, y);
    }`
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题