问题标签 [pixel-manipulation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
8157 浏览

javascript - 为什么设置 HTML5 的 CanvasPixelArray 值慢得离谱,我怎样才能做得更快?

我正在尝试使用 HTML 5 画布的像素操作来做一些动态视觉效果,但我遇到了一个问题,即在 CanvasPixelArray 中设置像素非常慢。

例如,如果我有如下代码:

使用 Chrome 进行分析显示,它的运行速度比以下未使用 CanvasPixelArray 的代码慢 44%。

我的猜测是,这种放缓的原因是由于 Javascript 双精度数和 CanvasPixelArray 使用的内部无符号 8 位整数之间的转换。

  1. 这个猜测正确吗?
  2. 有没有办法减少在 CanvasPixelArray 中设置值所花费的时间?
0 投票
2 回答
6251 浏览

c++ - C ++将图像转换为整数数组

我将如何将图像(.png 文件)中的像素转换为整数数组,其中每个像素都转换为其 ARGB 整数等效值?顺便说一下,不是 2D 整数数组,而是 1D 数组(通过数组 [row*width+col] 访问)。

谢谢。

0 投票
1 回答
1636 浏览

java - Java中的灰度(每像素8位)图像像素操作

我听说8位色深的灰度图像中的数据存储在每个像素的一个字节的前7位中,最后一位保持不变!所以我们可以使用所有像素的最后一位来存储一些信息,是真的吗?

如果是这样,如何在单个像素中解释数据?我的意思是没有红色,蓝色和绿色!那么这些位是什么意思?

以及如何计算图像所有像素的平均值?我更喜欢使用纯 Java 类而不是JAI或其他第三方。

更新 1

getRGB 方法总是返回一个大于一个字节的int !!!我应该怎么办?

0 投票
1 回答
5523 浏览

android - 如何从android位图中找到像素数组中像素的xy坐标

我有一个使用 Bitmap.getPixels() 方法从位图派生的 int 数组。此方法使用位图中的像素填充数组。当我遍历该数组时,如何获得每个像素的 xy 坐标?在此先感谢垫。

[更新] 感谢您的数学。我试过下面的代码。我有一个位图,其中我将前 50000 像素更改为白色。我现在想遍历位图并将所有白色像素更改为红色。atm 只有一条红线穿过位图顶部的白色像素块。你有什么想法吗?多谢。

0 投票
1 回答
1472 浏览

android - 使像素android的alpha值变暗

我正在尝试使位图中单个像素的 Alpha 通道变暗。我想保持像素颜色 rgb 但只是使像素半透明。我查看了 Color 类并尝试了 Color.argb(int,int,int,int) 方法,但效果不佳。我怎样才能在保持像素的原始 rgb 的同时设置像素的 alpha?

提前感谢垫子。

[编辑] 大声笑水龟:)。嗨,下面是我如何配置我的位图。如果这就是你的意思,我没有潜在的形象。我想做的基本上是使某些像素半透明。我有一个位图并在位图上放置了一个圆圈。我的算法只针对圆圈内的像素,我可以将这些像素更改为粉红色。我想要的是检查圆圈中的每个像素并使其smi透明,如果有意义的话,仍然保持原始像素颜色的一半:)

[编辑]

0 投票
1 回答
10693 浏览

android - Android 图像锐化、饱和度、色相、亮度和对比度

我正在尝试创建一个应用程序,允许我通过调整上述每个字段的搜索栏来调整图像的色调、饱和度、亮度、对比度和清晰度。就像在http://ronbigelow.com/articles/workflow_basic/hue-saturation_tool.jpg

我不知道如何做到这一点,我在网上找不到任何教程。Android是否已经有任何东西可以做到这一点?我必须操纵单个像素的颜色吗?如果我必须弄乱像素,我该怎么做?

0 投票
1 回答
818 浏览

javascript - HTML5 画布 putImageData 似乎与没有得到预期结果的像素混淆

我正在尝试使用一些自定义代码绘制一个等距正方形来构建像素数据,然后使用 putImageData 将其放在画布上。

但是我没有得到预期的结果,在快速浏览了画布的原始像素数据之后,我构建的所有像素数据似乎都被弄乱了。

我从下面的代码中想要的是黑色背景上的红色菱形。我哪里错了?

JSFiddle 示例在这里

0 投票
2 回答
12919 浏览

java - 缓冲图像像素操作

我有这个代码:

当我在传递 getRGB 之前分配数组时,它会抛出 NPE 或使用数组或 ArrayOutOfBoundsException。我签入调试器,图像具有大小并已分配。

更新:getRGB

0 投票
1 回答
389 浏览

javascript - 哪个更快 - 堆叠画布或像素操作?

我正在使用一些 HTML 5 功能制作一个小俄罗斯方块克隆,我遇到了一些困境。

我的 tetrominos 不是由块组成的——它们有依赖于旋转的阴影和阴影,因此每个都是它自己的图像。这意味着每次游戏状态发生变化时我都不能使用正常的“重绘所有内容”,因为这意味着要跟踪所有的棋子掉落历史并在我想清除一条线时“重播”它。

所以我的选择是:

1) 创建两个相互堆叠的画布元素。背面的那个是“板”图像。最上面的一个是作品画布,我可以在其中轻松地切割和重新排列东西。不过,这感觉很骇人听闻,因为我想将所有内容都保存在一个画布元素中。

2)创建一个“绘图”上下文和一个“缓冲区”上下文。在缓冲区上下文中,我拥有所有的片段并且可以自由地操作它,当需要将缓冲区绘制到屏幕上时,我获取ImageData,循环遍历所有像素,并将它们合成到板图像上。然后我使用 putImageData 将其写入“绘图”上下文。之所以会出现这种麻烦,是因为我找不到一种方法来获取 ImageData 结构并将其合成到画布元素上(您可以通过使用 drawImage 的 ImageElements 来做到这一点,但 drawImage 不会采用 ImageData 结构)。

这两种解决方案对我来说似乎都很优雅。

谢谢

0 投票
1 回答
181 浏览

iphone - iphone上的像素操作

我正在开发一个应用程序,它必须以下列方式使用像素操作:围绕一个点(x,y)我必须在半径为 R 的圆中压缩或扩展像素,但我想保持矩形框用户界面图像。我通过以下方式获取原始数据(我在网上找到了这个):

所以,我在 rawData 中有像素数据。

现在,我如何知道当前像素是否在原点(x,y)和半径 R 的圆内?以及如何压缩/扩展这些像素?

谢谢