问题标签 [palette]

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 投票
1 回答
1230 浏览

python - (Python) 使用 PIL 或 PyPNG 在图像中设置特定的调色板

我有一堆我正在单独处理的图像,这些图像在处理后重新组合在一起。我想将它们压缩为 8 位图像以节省大小。我目前正在通过调用 PIL 来执行此操作:

问题在于,每个图像的调色板最终都不同。我想使用相同的调色板来获取所有图像。

例如,这是我在转换和 optipng 编辑后从其中一张图像中提取的调色板。

我想在所有图像中使用该调色板或任何一致的调色板,但我不确定如何。我用 PyPNG 尝试过这样的事情:

但结果看起来像垃圾。

有什么办法可以做我想做的事吗?希望我已经解释得足够清楚了,谢谢!

0 投票
1 回答
1039 浏览

colors - 以编程方式逐步遍历 24 位色谱,获得 x 数量的平均颜色

是的,我正在尝试重新发明轮子。:-) 。我正在做自己的图像压缩,(测试通过 tcp 传输部分图像的一些想法)。无论如何...我正在尝试逐步通过 24 位 rgb 颜色,获得完整的线性范围,并以 x 间隔(逐步通过)该范围。

我试图在整个光谱中获得平均 99 种颜色。(24bit / 99) = 167488.6363636364 ,所以我想以 16K 的间隔为我的 99 调色板画一个颜色。

我无法理解 RGB 的真正工作原理......似乎没有线性范围......,还是有......?

我目前正在执行以下操作:

我得到了我的颜色,但如果你愿意,这一步不会生成“缩放”颜色。

有任何想法吗?

0 投票
2 回答
886 浏览

wicket - Wicket Palette - 将值添加到左侧列表

我有一个关于 Wicket 中的调色板的问题,我会在正确的列表中添加值(在页面加载时),但我没有找到解决方案。我只能使用模型将值添加到左侧列表。所以请帮助我。(在图片中,我希望 Selected 列表从一开始就包含值)

谢谢

0 投票
1 回答
2191 浏览

silverlight-4.0 - Silverlight 4.0:图表工具包 - 调色板不起作用

我正在尝试自定义我的工具提示 - PieDataPoint,但是,调色板不再工作了。有什么我错过的吗?

似乎当我将以下内容添加到 PieDataPoint 时,图表变为红色。

谢谢!

0 投票
1 回答
560 浏览

menu - 在 Linux 上获取 Mathematica 菜单栏

Mathematica (8.0.1.0) 的 Linux 前端似乎没有与任何给定笔记本不同的菜单栏。在我使用的任何 Windows 前端中,都有一个独立的菜单栏,其中包含通常的:“文件、编辑、插入、格式、单元格、图形、评估、调色板、窗口、帮助”。我的 Linux 前端的每个笔记本都有这个菜单,但我希望有一个独立的。

特别是,我希望使用位于菜单栏调色板部分的“从调色板生成笔记本”选项。我需要独立栏的原因是我想转换为笔记本的调色板,Wolfram Workbench 2 附带的 DocumentationTools 调色板没有自己的菜单栏。尝试使用笔记本中的菜单栏将可能的选项与该笔记本相关联,而如果我有一个独立的菜单栏,我可以将其设置为“活动”笔记本是这个调色板,然后去城镇将调色板转换为笔记本。

简而言之:

如何在 Mathematica 的 Linux 前端获得独立的菜单栏?

或者

如何在没有菜单栏的情况下将调色板转换为笔记本?

或者

Wolfram Workbench 2 附带的 DocumentationTools 调色板是否以笔记本文件的形式存在于目录中,我可能会遇到这种情况?

0 投票
1 回答
415 浏览

palette - 如何在 C# 代码中生成 NES 调色板

如何完全在 C# 代码中生成 NES 调色板,而不使用任何常量值?

我想以与 PPU 相同的方式预先计算调色板。

谢谢!

0 投票
1 回答
1090 浏览

image - 如何将 256 色调色 RGBA 图像数据转换为 NSImage

我是一名新手开发人员,我需要你的帮助,这对你来说可能是微不足道的。

我有这种像素格式的图像数据:256 色调色 RGBA。它来自FFmpeg (PIX_FMT_PAL8),它是这样解释的:

PIX_FMT_RGB32 以特定于字节序的方式处理。RGBA 颜色组合为:

(A << 24) | (R << 16) | (G << 8) | 乙

这在小端 CPU 架构上存储为 BGRA,在大端 CPU 上存储为 ARGB。

当像素格式为调色RGB(PIX_FMT_PAL8)时,调色后的图像数据存储在AVFrame.data[0]中。

调色板在 AVFrame.data[1] 中传输,长度为 1024 字节(256 个 4 字节条目),其格式与上述 PIX_FMT_RGB32 中的格式相同(即,它也是特定于字节序的)。另请注意,存储在 AVFrame.data[1] 中的各个 RGB 调色板组件应在 0..255 范围内。

AVFrame 结构包含uint8_t *data[4]andint linesize[4]并且它们被简单地描述为:

  • uint8_t *data[4]= 指向图片平面的指针
  • 给出了四个组件,仅此而已。
  • 最后一个组件是 alpha
  • int linesize[4]= 每行的字节数

我有包含所有需要数据的 AVFrame 结构,但我不知道如何处理它。我需要从这个图像数据创建一个 NSImage 。

我怎样才能做到这一点?

0 投票
1 回答
643 浏览

windows-7 - Allegro 4.2.4 在 Windows7 上的调色板模式损坏

我在 Windows 7 中运行调色板模式(256 色)的 Allegro 4.2.4 有问题。我在 Internet 上找到了杀死资源管理器的解决方案,它确实有效,但是期望最终用户在尝试玩游戏时会杀死资源管理器是荒谬的.

然后我找到了用破解版本替换 DDraw.dll 的解决方案,但它也不起作用 - DDHack 只会导致应用程序启动后根本不显示任何屏幕。

然后我找到了添加注册表黑客的解决方案:

但遗憾的是它也不起作用,调色板一直闪烁着所有彩虹色。

除了将整个应用程序移植到不同的编程库之外,我还有其他解决方案吗?是否可以在不触摸调色板的情况下修复 Vista/W7 上的 DDraw 问题?如果没有,什么库会给我调色板编程(我正在做需要调色板的游戏)在 Vista/W7 上没有这样的问题?

我知道另一种解决方案 - 我可以将 Allegro 4.2.4 应用程序编译为 DOS 应用程序并在 DosBox 中运行。可悲的是,但我现在能想到的就这些了……

提前感谢其他解决方案!

0 投票
3 回答
646 浏览

graphics - 是否有用于 c++(或工具)的库来减少具有 alpha 值的 PNG 图像中的颜色?

我有一个带有 alpha 值的 PNG 图像,需要减少颜色的数量。对于图像中的所有颜色,我需要不超过 256 种颜色,到目前为止,我尝试的一切(从油漆店到 leptonica 等)都会剥离 alpha 通道的图像并使其无法使用。有什么东西可以做我想要的吗?

编辑:我不想使用 8 位调色板。我只需要减少颜色的数量,以便我自己的程序可以处理图像。

0 投票
2 回答
619 浏览

python - 将不同的调色板索引分配给调色板图像

我正在用 Python 和 Pygame 编写游戏。为此,图形将采用 NES 等旧视频游戏机的风格。因此,图形由带有 2 位(4 色)图像的单个图块集文件组成,我希望能够在加载这些图像时为这些图像分配任意 4 色调色板。

我想要做的是使用 8 位(256 色)调色板模式,我将调色板分为 64 个子调色板,每个子调色板有 4 种颜色。每次我从 2 位图形文件加载一个 16x16 的图块时,我都想将这些虚拟 4 色调色板之一分配给它。因此,在原始图块集文件中,调色板索引将为 0-3,因为它是一个 2 位索引文件。我想将此文件中的图块加载到内存中,并使用一个函数将调色板索引从 0-3 重新分配给我选择的任何调色板偏移量,这样当我将它粘贴到屏幕上时,它会以我选择的 4 色着色调色板——很像 NES 硬件的工作原理。这有点难以解释,所以也许这张图片让它更清楚一点:

在此处输入图像描述

我查看了 Pygame 和 PIL 的手册,没有发现任何东西可以让我像这样操作调色板文件。是否有任何其他库可供研究,或者是否有我没有看到的更简单的解决方案?