首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >阈值图像颜色- Base64

阈值图像颜色- Base64
EN

Stack Overflow用户
提问于 2016-05-29 16:46:19
回答 1查看 1.8K关注 0票数 1

我想使用门限筛选器对base64字符串(data:image/png;base64,iVBOR...)使用如下所示的javaScript:

代码语言:javascript
复制
function threshold(base64) {
    some action whith base64 string...

    return base64; //base64 is updated by threshold filter    
}

有可能吗?如果是的话,我该怎么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-29 17:39:35

代码语言:javascript
复制
var base64string = "data:image/png;base64,iVBOR..........",
    threshold = 180, // 0..255
    ctx = document.createElement("canvas").getContext("2d"),
    image = new Image();

image.onload = function() {

  var w = ctx.canvas.width  = image.width,
      h = ctx.canvas.height = image.height;

  ctx.drawImage(image, 0, 0, w, h);      // Set image to Canvas context
  var d = ctx.getImageData(0, 0, w, h);  // Get image Data from Canvas context


  for (var i=0; i<d.data.length; i+=4) { // 4 is for RGBA channels
    // R=G=B=R>T?255:0
    d.data[i] = d.data[i+1] = d.data[i+2] = d.data[i+1] > threshold ? 255 : 0;
  }

  ctx.putImageData(d, 0, 0);             // Apply threshold conversion
  document.body.appendChild(ctx.canvas); // Show result

};
image.src = base64string;

MDN - putImageData

MDN - getImageData

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37512460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档