我正在尝试探索如何制作3D立体图像(红色/青色)。我正在使用HTML5 <canvas>
元素进行绘图。
问题在于我无法确定应该使用哪种颜色。另外,我不确定如何组合颜色。
目前我有以下代码:http://jsfiddle.net/eGjak/15/。问题是我无法使用红色部分的正确颜色。无论我选择多少红色,我的眼镜仍然让红色透过眼镜的红色部分。然而青色不会穿过眼镜的青色部分。它似乎也取决于背景颜色 - 有人可以对此有所了解吗?
其次,我应该如何组合红色和青色?我目前将颜色相加,但这会产生白色,因为红色为(255,0,0)
,青色为(0,255,255)
。在sample image上,似乎它们加起来是黑色的 - 这怎么可能?
那么,我应该用什么颜色的红色部分?如何将红色和青色部分相互重叠?
答案 0 :(得分:2)
首先,这里有几个开源的立体图像实现,你可以看看:
http://www.schrammel.org/stereo-plascolin.php
http://www.leebyron.com/else/redblue/#redblue
那就是说,我不认为看一些代码是解决这个问题的最好方法。您需要在更高级别了解代码背后的内容。
所以我建议看看这个页面上的教程;这些是如何在图像编辑程序中手动创建立体图像的说明:
http://graphicssoft.about.com/od/3danaglyphs/Making_3D_Anaglyphs.htm
首先尝试在Photoshop或GIMP中进行教程,或者确保生成的图像符合您的要求,然后尝试以编程方式实现该技术。
答案 1 :(得分:0)
使用3D图像时,您首先要考虑:您希望左眼看到什么图像,以及您希望右眼看到什么图像?然后,您可以使用一些技术将图像组合成3D图像。
对于红色/青色眼镜,组合图像并不像看起来那么简单;例如红色塑料实际上让一点绿光通过。幸运的是,Eric Dubois考虑了如何最好地创建3D红/青色立体照片的问题,他开发了一种将左/右图像组合成单个红/青色立体图像的数学最优技术。
another question讨论了该算法的详细信息。您可能还想进入一个工作JavaScript demo,它将两个图像组合成一个HTML5画布上的单个立体图像。