问题标签 [argb]

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 投票
3 回答
531 浏览

c# - C# 中的 >> 运算符有什么作用?

我对 C# 很陌生,并试图做一个基本的图像处理软件。我了解此代码段从 WriteableBitmap 像素“当前”的 ARGB int 值中提取 A、R、G、B

“>>”是做什么来转换值的?

另外,如果我分别对 r、g 和 b 进行一些计算,如何将它们转换回整数 ARGB 值以用新像素替换原始像素?

提前致谢。

编辑:谢谢大家,现在说得通了。

0 投票
1 回答
640 浏览

actionscript-3 - 从 Flash Player 编码/解码 CMYK 图像

我目前正在使用 Flash Player 中的图像编辑器,我需要能够将 CMYK 图像导出到我的服务器。我对颜色配置文件等完全陌生,我想知道如何才能做到这一点。我很确定 Flash Player 中的所有图像都是 ARGB,那么有没有办法正确转换这些值?

0 投票
1 回答
9718 浏览

transparency - 如何创建位深为 32 的窗口

我正在尝试创建一个位深度为 32 的 X11 窗口,以便我可以使用 ARGB 颜色。这就是我所做的:

这是发生的事情:

关于为什么会出现 BadMatch 错误的任何指示?

0 投票
6 回答
7916 浏览

video - iPhone RGBA 转 ARGB

我使用 glReadPixels 来抓取我的 opengl 场景的屏幕截图,然后在 IOS 4 上使用 AVAssetWriter 将它们转换为视频。我的问题是我需要将 alpha 通道传递给仅接受 kCVPixelFormatType_32ARGB 和 glReadPixels 检索 RGBA 的视频。所以基本上我需要一种将我的 RGBA 转换为 ARGB 的方法,换句话说,将 alpha 字节放在首位。

以为我会发布整个代码,因为我可以帮助别人。

干杯

0 投票
2 回答
7892 浏览

java - 使用 Graphics2D 填充透明度

我创建了一个 ARGB BufferedImage。现在我想用透明背景重新初始化它。我尝试了以下代码:

但它没有用。

请问如何做到这一点?

谢谢 !

0 投票
5 回答
8851 浏览

similarity - RGBA 颜色空间中的颜色相似度/距离

如何计算 RGBA 颜色空间中两种颜色之间的相似度?(当然背景颜色是未知的)

我需要通过为图像中的每个像素找到最佳调色板条目来将 RGBA 图像重新映射到 RGBA 颜色调色板*。

在 RGB 颜色空间中,可以假定最相似的颜色是欧几里得距离最小的颜色。但是,这种方法在 RGBA 中不起作用,例如,从rgba(0,0,0,0)to的欧几里得距离rgba(0,0,0,50%)小于 to rgba(100%,100%,100%,1%),但后者看起来要好得多。

我正在使用预乘 RGBA 颜色空间:

我已经尝试过这个公式(编辑: 请参阅下面的答案以获得更好的公式):

但它看起来并不理想——在具有半透明渐变的图像中,它会发现导致不连续/锐边的错误颜色。不透明颜色和 alpha 之间的线性比例看起来很可疑。

最佳配方是什么?


*) 为简单起见,我忽略了误差扩散、伽马和心理视觉色彩空间。


稍微相关:如果你想在这个非欧几里得 RGBA 空间中找到最接近的颜色,vp-trees是最好的。

0 投票
4 回答
4676 浏览

opengl - 如何从 ARGB NSImage 加载 OpenGL 纹理而不进行混杂?

我正在为 Mac OS >= 10.6 编写一个应用程序,它从磁盘加载的图像创建 OpenGL 纹理。

首先,我将图像加载到 NSImage 中。然后我从图像中获取 NSBitmapImageRep 并使用 glTexImage2D 将像素数据加载到纹理中。

对于 RGB 或 RGBA 图像,它可以完美运行。我可以传入 3 字节/像素的 RGB 或 4 字节的 RGBA,并创建一个 4 字节/像素的 RGBA 纹理。

然而,我刚刚让一个测试员给我发了一张似乎有 ARGB 字节顺序的 JPEG 图像(在佳能 EOS 50D 上拍摄,不确定它是如何导入的)。

我在这个线程上找到了一个帖子:(http://www.cocoabuilder.com/archive/cocoa/12782-coregraphics-over-opengl.html)这表明我将GL_BGRA的格式参数指定为glTexImage2D,并且类型为GL_UNSIGNED_INT_8_8_8_8_REV。

这似乎合乎逻辑,并且似乎应该有效,但事实并非如此。我得到不同但仍然错误的颜色值。

我编写了“swizzling”(手动字节交换)代码,将 ARGB 图像数据洗牌到一个新的 RGBA 缓冲区中,但是这种逐字节的混合对于大图像来说会很慢。

我也想了解如何使这项工作“以正确的方式”。

将 ARGB 数据加载到 RGBA OpenGL 纹理中的技巧是什么?

我当前对 xxx 的调用如下所示:

其中是 RGB 或 RGBA。

我尝试使用:

当我的图像代表报告它是“alpha first”顺序时。

作为第二个问题,我还读到大多数显卡的“本机”格式是 GL_BGRA,因此以该格式创建纹理会导致更快的纹理绘制。纹理绘制的速度比加载纹理的速度更重要,因此预先将数据“混合”为 BGRA 格式是值得的。我尝试通过指定 GL_RGBA 的“内部格式”来要求 OpenGL 创建 BGRA 纹理,但这会导致图像完全变黑。我对文档的解释使我期望 glTexImage2D 会在读取数据时对数据进行字节交换,如果源格式和内部格式不同,但是当我尝试指定“内部格式”时,我得到一个 OpenGL 错误 0x500 (GL_INVALID_ENUM) GL_RGBA。我错过了什么?

0 投票
4 回答
17951 浏览

android - 访问 ARGB_8888 Android 位图中的原始数据

我正在尝试使用copyPixelsToBufferandcopyPixelsFromBuffer方法在 Android 上访问 ARGB_8888 格式的位图的原始数据。然而,这些调用的调用似乎总是将 alpha 通道应用于 rgb 通道。我需要 byte[] 或类似的原始数据(通过 JNI;是的,我知道 Android 2.2 中的 bitmap.h,不能使用它)。

这是一个示例:

然后日志显示

我知道 argb 通道的顺序是不同的;没关系。但我不希望将 alpha 通道应用于每个副本(这似乎是在做的事情)。

这是如何copyPixelsToBuffercopyPixelsFromBuffer应该工作的?有什么方法可以获取字节 [] 中的原始数据吗?

为响应以下答案而添加:

buffer.order(ByteOrder.nativeOrder());在确实改变结果之前放入copyPixelsToBuffer,但仍然不是我想要的方式:

似乎遇到了基本相同的问题(每个都应用了 alpha copyPixelsFrom/ToBuffer)。

0 投票
2 回答
1303 浏览

colors - 如何从两个 RGB 值中找到一种颜色的 RGBA 值?

我有一种预感,这以前已经做过,但我对此完全是外行,不知道如何开始提出正确的问题。所以我将描述我正在尝试做的事情......

我有一个未知的 ARGB 颜色。我只知道它的绝对 RGB 值显示在两种已知的不透明背景颜色上,例如黑色 0x000000 和白色 0xFFFFFF。所以,继续这个例子,如果我知道 ARGB 颜色在 0x000000 上显示时等效于 RGB 0x000080,并且我知道相同的 ARGB 颜色在 0xFFFFFF 上显示时等效于 RGB 0x7F7FFF,有没有办法计算原始 ARGB 颜色是?

或者这甚至可能吗?

0 投票
3 回答
36089 浏览

java - TYPE_INT_RGB 和 TYPE_INT_ARGB 的格式

谁能为我解释一下 java 如何在 TYPE_INT_RGB 和 TYPE_INT_ARGB 中存储颜色?
这些代码行是否适用于计算红色、绿色和蓝色?

那么 TYPE_INT_ARGB 呢?如何从 TYPE_INT_ARGB 中获得红色、绿色和蓝色?