javascript - 如何从 Canvas 的图像数据读取值

标签 javascript canvas alpha-transparency

如果我做:

ctx.fillStyle = 'rgba(100,200,50,0.5)';  
ctx.fillRect(0,0,1,1);

然后是:

var imageData = ctx.getImageData(0,0,1,1);
console.log(imageData.data;

我得到:

>>[50,100,25,254]

我的问题是:为什么 alpha 为 254? 我实验了 fillStyle 中除 0 和 1 之外的任何 alpha 值都会导致 254 0 或 1 的值导致对数为 255!

最佳答案

当您透明地填充一个区域时,您实际上并没有使用您使用的颜色来填充它,而是将其与背景颜色混合。 254 可能只是一个非常小的舍入误差。

关于javascript - 如何从 Canvas 的图像数据读取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40038562/

相关文章:

javascript - 如何使用 javaScript 在图像上覆盖播放按钮

android - android自定义view报错: android. view.InflateException

javascript - 使用 DC.JS 的多系列折线图

javascript - TypeScript 和库,例如 jQuery(带有 .d.ts 文件)

HTML5 - setDragImage 有时只能工作?

canvas.toDataURL() 用于大 Canvas

imagemagick - 在已经使用 ImageMagick 具有透明度的图像上应用渐变蒙版?

java - 改变jframe的亮度

java - SWT Java : How to apply transparency to GUI components/controls (e. g 按钮、sashForm、表格等)

javascript - 通用Ajax错误处理-Angular JS中的拦截器