【发布时间】:2020-03-08 06:10:31
【问题描述】:
我正在 Ionic 4 中制作一个绘图应用程序,在这个应用程序中,我使用 drawImage 在画布中添加了数字 1 图像,并且图像背景的其余部分是透明的。如果用户(儿童)在 1 号图像之外绘制,则该百分比将减少。为此,我搜索但没有找到任何东西,但我发现点击查找像素是否透明。
isTransparent(x, y) { // x, y coordinate of pixel
let alpha = this.ctx.getImageData(x, y, 1, 1).data[3]; // 3rd byte is alpha
if (alpha === 0) {
this.accuracy = 0;
console.log("Transparent image clicked!");
} else {
this.accuracy = 100;
console.log("image clicked!");
}
}
我在 GitHub 上添加的code sample,这里是live Demo。
【问题讨论】:
-
我不确定我是否理解您的问题;但是,根据github.com/gokujy/ioniccanvas.github.io/blob/…
isTransparent将始终为false,因为您在调用isTransparent之前 在同一坐标处绘制笔划(第84 行)。
标签: javascript angularjs image ionic-framework html5-canvas