const warp = document.getElementById('mainPic');
// 初始化主canvas
const obj = document.getElementById('canvas');
const ctx = obj.getContext('2d');
// 原始图片
const pic = new Image();
pic.src = "pic.jpg";
// 加载图片
pic.onload = function () {
ctx.drawImage(this, 0, 0, this.width, this.height);
// 获取图片像素信息
let imageData = ctx.getImageData(0,0,obj.width,obj.height);
let pixels = imageData.data;
//遍历像素点
for (let i=0; i<pixels.length; i+=4){
let r = pixels[i];
let g = pixels[i+1];
let b = pixels[i+2];
originImageData[i] = r;
originImageData[i+1] = g;
originImageData[i+2] = b;
//获取灰色
let gray = parseInt((r+g+b)/3);
pixels[i] = gray;
pixels[i+1] = gray;
pixels[i+2] = gray;
}
ctx.putImageData(imageData, 0,0);
// 点击事件
obj.addEventListener('click', function(event) {
let rect = obj.getBoundingClientRect();
let cx = event.clientX - rect.left * (obj.width / rect.width);
let cy = event.clientY - rect.top * (obj.height / rect.height);
console.log(cx,cy);
});
}
canvas彩色图片处理为黑白
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 项目中有一个需求:实现画板的功能。提供一张图片。可以在上面写字,并且可以放大缩小。 1.图片转换为canvas 在...
- 【解决方案1】 先用yum安装myslq-devel,命令为:yum install mysql-devel -y...