wolfram-mathematica - Mathematica 渲染和导出为不同颜色的 RGB 颜色值的最小差异是多少?

标签 wolfram-mathematica rendering mathematica-8 mathematica-frontend

我很惊讶 I found Mathematica 给出的 True对于以下代码(在带有 Mathematica 8.0.1 的 32 位 Windows XP 上):

Rasterize[Graphics[{RGBColor[0, 0, 0], Disk[]}]] === 
 Rasterize[Graphics[{RGBColor[0, 0, 1/257], Disk[]}]]

Mathematica 渲染和导出为不同颜色的 RGB 颜色值的最小差异是多少?是否依赖机器?

最佳答案

我相信这种行为取决于机器,但我不知道它究竟如何取决于操作系统。在我的机器上,它评估为 True仅当分母为 511 时.

n = 257; 
While[(Rasterize[Graphics[{RGBColor[0, 0, 0], Disk[]}]] === 
    Rasterize[Graphics[{RGBColor[0, 0, 1/n], Disk[]}]]) != True, 
 n++]; 
Print@n

Out[1]=511
n<511 的两个图像之间存在差异
p1 = ImageData@Rasterize[Graphics[{RGBColor[0, 0, 0], Disk[]}]];
p2 = ImageData@Rasterize[Graphics[{RGBColor[0, 0, 1/257], Disk[]}]];
ArrayPlot[p1 - p2]

enter image description here

这种差异在 n=510 中一直保持不变并且等于 1/255 .
Max[p2 - p1] === N[1/255]
Out[1]=True

关于wolfram-mathematica - Mathematica 渲染和导出为不同颜色的 RGB 颜色值的最小差异是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7780327/

相关文章:

android - OpenGL ES 多个对象未被渲染

ruby-on-rails - 渲染 View 花费的时间太长

wolfram-mathematica - 如何生成 Manipulate 的动画 GIF? 8.0.1

performance - 为什么这些例程在 Mathematica 中的相对效率高?

checkbox - TogglerBar 可以用作 Mathematica 中的多个 CheckBox 吗?

wolfram-mathematica - 关于用 Mathematica 打印逻辑表的问题

algorithm - 如何找到最佳(信息量最大)的绘图限制?

c++ - SDL,如何渲染背景图片?

wolfram-mathematica - Combinatorica`PlanarQ 不起作用

wolfram-mathematica - 如何在 Mathematica 8 中以编程方式访问有关 'Graph` 对象的信息?