Canvas getImageData使用graident给出错误的结果
Canvas getImageData giving wrong result with graident
我使用带有渐变的画布(填充颜色从实际值到白色不等),使用画布函数getimagedata 在任何点(单击鼠标)选择颜色
连线问题:Canvas.getImageImadata在某个地方给出了错误的值,并主要更正了
JSFIDDLE演示
您需要更正鼠标位置,使其相对于画布。默认情况下,它是相对于客户端窗口的。
要更正,您可以执行以下操作:
$('#myCanvas').click(function(e) {
var r = $('#myCanvas')[0].getBoundingClientRect(); // get canvas abs. pos.
//OR
//var r = $('#myCanvas').position();
x = e.clientX - r.left; // make relative
y = e.clientY - r.top;
var data=ctx.getImageData(x,y,1,1).data;
$('#feedback').html("Red : "+data[0]+" __ Green : " +
data[1]+" __ Blue : "+data[2]+" __ Alpha : "+data[3])
});
否则,您将在画布外部进行采样,这将给出一个空白的ImageData对象。
改良小提琴
希望这能有所帮助!
相关文章:
- 如何知道javascript for语句中的所有结果是否都是错误的
- JScript 错误: 无法分配给函数结果
- json-api和错误结果:无法读取属性'长度'的未定义
- 显示错误结果的Javascript
- javascript使用正则表达式得到错误的结果
- 在页面对象文件中验证sendKeys结果会导致未定义的错误(Protractor)
- YouTube API v3哈希标签搜索错误结果
- jQuery.Validate - 如何将错误结果放在不同的地方
- 检查JavaScript中的日期时间是否相等时出现错误结果
- 转换日期时出现错误结果
- Lodash partialRight padStart映射产生错误结果
- 在javascript中乘法的错误结果
- 用于显示错误结果的JavaScript嵌套
- 什么'这是处理promise对象中错误结果的正确方法
- 显示错误结果的typeOf
- Javascript getDate()和getMonth()返回错误结果
- LokiJS:简单的查找查询返回错误结果
- Bootstrap-datepicker getDate错误结果
- 比较select.val()和span.text()后产生错误结果
- 坐标转换javascript库Pro4js错误结果