在鼠标移动时获取fabric.js中图像像素的rgb值

交换甘地

如何在鼠标移动时在fabric.js中获取图像的rgb值。我使用了图像对象的getFill()方法,但它正在返回(0,0,0)。请帮我

FabricJS没有获取像素颜色的本机方法。

解决方法是使用本地html5画布获取像素数据:

  • 创建您的Fabric图像对象。确保指定crossOrigin为“匿名”,否则画布将因违反安全性而被污染,然后像素数据将不可用。

  • 收听Fabric的“ mouse:move”事件。触发时,获取当前鼠标的位置并使用本机画布context.getImageData获取该像素的颜色阵列。

祝您的项目好运!

这是带注释的代码和演示:

// create a Fabric.Canvas
var canvas = new fabric.Canvas("canvas");

// get a reference to <p id=results></p>
// (used to report pixel color under mouse)
var results = document.getElementById('results');

// get references to the html canvas element & its context
var canvasElement = document.getElementById('canvas');
var ctx = canvasElement.getContext("2d");


// create a test Fabric.Image
addFabricImage('https://dl.dropboxusercontent.com/u/139992952/multple/colorBar.png');

// listen for mouse:move events
canvas.on('mouse:move', function(e) {

  // get the current mouse position
  var mouse = canvas.getPointer(e.e);
  var x = parseInt(mouse.x);
  var y = parseInt(mouse.y);

  // get the color array for the pixel under the mouse
  var px = ctx.getImageData(x, y, 1, 1).data;

  // report that pixel data
  results.innerHTML = 'At [' + x + ' / ' + y + ']: Red/Green/Blue/Alpha = [' + px[0] + ' / ' + px[1] + ' / ' + px[2] + ' / ' + px[3] + ']';

});



// create a Fabric.Image at x,y using a specified imgSrc
function addFabricImage(imgSrc, x, y) {

  // create a new javascript Image object using imgSrc
  var img = new Image();

  // be sure to set crossOrigin or else 
  // cross-domain imgSrc's will taint the canvas
  // and then we can't get the pixel data
  // IMPORTANT!: the source domain must be properly configured 
  // to allow crossOrigin='anonymous'
  img.crossOrigin = 'anonymous';

  // when the Image object is fully loaded, 
  // use it to create a new fabric.Image object
  img.onload = function() {

    var fabImg = new fabric.Image(this, {
      left: 30,
      top: 30
    });
    canvas.add(fabImg);

  }

  // use imgSrc as the image source
  img.src = imgSrc;

}
body {
  background-color: ivory;
}
canvas {
  border: 1px solid red;
}
<script src="http://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.4.0/fabric.min.js"></script>
<p id="results">Move mouse over canvas</p>
<canvas id=canvas width=300 height=300></canvas>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Fabric.js-如何在鼠标移动时检测画布?

来自分类Dev

fabric.js-鼠标移动时结束自由绘图模式

来自分类Dev

从图像中获取像素值:Matlab

来自分类Dev

从鼠标位置的图像获取像素值

来自分类Dev

如何使用Qt获取BMP中每个像素的RGB值?

来自分类Dev

如何使用 Wpf、MVVM 获取图像像素位置和 RGB 值?

来自分类Dev

移动设备中鼠标移动时,对象无法正常移动

来自分类Dev

防止浏览时图像移动(用鼠标)

来自分类Dev

如何在xCode中从灰度图像获取像素的灰度值

来自分类Dev

在Matlab中获取图像像素值的ASCII码

来自分类Dev

如何在python中获取图像像素的RGBA颜色值

来自分类Dev

如何在xCode中从灰度图像获取像素的灰度值

来自分类Dev

是否有图形方式从图像中的像素获取RGBA值?

来自分类Dev

如何从 .csv 文件中获取的像素值生成图像?

来自分类Dev

更改RGB图像中多个像素的值

来自分类Dev

更改RGB图像中多个像素的值

来自分类Dev

在Qt中获取原始鼠标移动

来自分类Dev

从HBITMAP获取特定像素的RGB值

来自分类Dev

JS生成图像中每个像素的RGB

来自分类Dev

ubuntu中的图像查看器,可以显示图像中当前鼠标位置的像素坐标和像素值

来自分类Dev

ubuntu中的图像查看器,可以显示图像中当前鼠标位置的像素坐标和像素值

来自分类Dev

获取每个超像素的RGB像素值列表

来自分类Dev

如何获取图像中特定直线的RGB值?

来自分类Dev

获取 stb_image 中像素的 RGB

来自分类Dev

每次鼠标移动时获取鼠标坐标

来自分类Dev

如何在Fabric.js上获取鼠标坐标?

来自分类Dev

在openCV中设置特定图像中像素的RGB值

来自分类Dev

如何获取图像上像素圆的值?

来自分类Dev

HTML Jquery在鼠标悬停时左右移动图像

Related 相关文章

  1. 1

    Fabric.js-如何在鼠标移动时检测画布?

  2. 2

    fabric.js-鼠标移动时结束自由绘图模式

  3. 3

    从图像中获取像素值:Matlab

  4. 4

    从鼠标位置的图像获取像素值

  5. 5

    如何使用Qt获取BMP中每个像素的RGB值?

  6. 6

    如何使用 Wpf、MVVM 获取图像像素位置和 RGB 值?

  7. 7

    移动设备中鼠标移动时,对象无法正常移动

  8. 8

    防止浏览时图像移动(用鼠标)

  9. 9

    如何在xCode中从灰度图像获取像素的灰度值

  10. 10

    在Matlab中获取图像像素值的ASCII码

  11. 11

    如何在python中获取图像像素的RGBA颜色值

  12. 12

    如何在xCode中从灰度图像获取像素的灰度值

  13. 13

    是否有图形方式从图像中的像素获取RGBA值?

  14. 14

    如何从 .csv 文件中获取的像素值生成图像?

  15. 15

    更改RGB图像中多个像素的值

  16. 16

    更改RGB图像中多个像素的值

  17. 17

    在Qt中获取原始鼠标移动

  18. 18

    从HBITMAP获取特定像素的RGB值

  19. 19

    JS生成图像中每个像素的RGB

  20. 20

    ubuntu中的图像查看器,可以显示图像中当前鼠标位置的像素坐标和像素值

  21. 21

    ubuntu中的图像查看器,可以显示图像中当前鼠标位置的像素坐标和像素值

  22. 22

    获取每个超像素的RGB像素值列表

  23. 23

    如何获取图像中特定直线的RGB值?

  24. 24

    获取 stb_image 中像素的 RGB

  25. 25

    每次鼠标移动时获取鼠标坐标

  26. 26

    如何在Fabric.js上获取鼠标坐标?

  27. 27

    在openCV中设置特定图像中像素的RGB值

  28. 28

    如何获取图像上像素圆的值?

  29. 29

    HTML Jquery在鼠标悬停时左右移动图像

热门标签

归档