使矩形图像在画布上成为不规则形状
Making rectangular image an irregular shape on a canvas
在网上搜索了一个多小时后,我没有找到任何运气。
我想知道是否有可能,如果是这样,我如何在js画布上创建一个透明的图像,而不是被认为是一个矩形,而只是它的可见区域。
例如,如果您单击png上的透明点,脚本不会考虑该对象的一部分。
谢谢你
是的,你可以使用context.getImageData
获得关于画布上每个像素的信息
示例:http://jsfiddle.net/m1erickson/tMmzc/
这段代码将获得一个数组,其中包含关于画布上每个像素的信息:
var data=ctx.getImageData(0,0,canvas.width,canvas.height).data;
data
数组由4个顺序元素组成,分别代表红、绿、蓝&一个像素的Alpha(不透明度)信息
The data array's elements #0-3 have the top-left pixel's r,g,b,a info.
The data array's elements #4-7 have the next rightward pixel's r,g,b,a info.
...and so on...
因此,给定鼠标在画布上的位置,你可以获取像素的alpha信息。如果alpha值为零,则该像素是透明的。
下面的代码将读取鼠标下的alpha值,并确定它是否透明:
var isTransparent = data[(mouseY*canvas.width+mouseX)*4+3]>0;
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- nodejs-expressjs上传图像并显示它们
- 使用JSP从服务器检索和显示图像
- 角度:在ng重复上切换图像
- 画廊图像未显示
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- Javascript排序的图像弹出窗口..可以't单独弹出
- 画布数据到图像
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 使图像在单击时展开到不大于浏览器
- Html页面上的多个Base64图像和平滑加载
- UIAutomation放大图像
- 使用javascript在Flash中加载外部图像
- 可以在这里为背景图像设置滤镜吗
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 使用 js 将背景图像设置为 HTML
- 画廊中图像大小不规则
- 使矩形图像在画布上成为不规则形状
- 如何在不规则形状的图像上创建超链接?
- 使用鼠标裁剪和插入不规则形状的图像