2010-12-22 115 views
0

当我在GraphicsRow中放置两个对象时,它似乎关闭了它们的抗锯齿。任何人都可以看到某种方式来导出图形行在下面的示例中使用抗锯齿?如何使用抗锯齿输出GraphicsRow?

http://yaroslavvb.com/upload/save/so-aliased.png

我尝试了各种Style[#,Antialiasing->True]组合和偏好,没有运气。 最接近的解决方法我是Rasterize他们在4倍的分辨率,但这有副作用,例如AbsoluteThickness改变物体的外观,例如,每个物体周围的框变淡。

picA = Graphics3D[{Opacity[0.5], 
    GraphicsComplex[{{-1., 0., 0.}, {0., -1., 0.}, {0., 0., -1.}, {0., 
     0., 1.}, {0., 1., 0.}, {1., 0., 
     0.}}, {{{EdgeForm[GrayLevel[0.]], 
     GraphicsGroup[{Polygon[{{4, 5, 1}, {1, 5, 3}, {1, 3, 2}, {4, 
      1, 2}, {3, 5, 6}, {5, 4, 6}, {4, 2, 6}, {2, 3, 
      6}}]}]}, {}, {}, {}, {}}}]}]; 
picB = Graphics3D[{Opacity[0.5], 
    GraphicsComplex[{{-1., 0., 0.}, {-0.5, -0.8660254037844386, 
     0.}, {-0.5, 0.8660254037844386, 1.}, {0., 
     0., -1.}, {0.5, -0.8660254037844386, 1.}, {0.5, 
     0.8660254037844386, 0.}, {1., 0., 
     0.}}, {{{EdgeForm[GrayLevel[0.]], 
     GraphicsGroup[{Polygon[{{6, 7, 4}, {2, 1, 4}}], 
      Polygon[{{1, 2, 5, 3}, {6, 3, 5, 7}, {5, 2, 4, 7}, {3, 6, 4, 
       1}}]}]}, {}, {}, {}, {}}}]}]; 
GraphicsRow[{picA, picB}] 
+0

从帮助..对于3D图形,抗锯齿的操作可以取决于您使用的特定图形硬件。除非在首选项对话框中设置了允许抗锯齿功能,否则禁用抗锯齿功能。因此,可能存在某些硬件问题。在我的穷人的机器中Antialiasing完全不能用于Graphics3D – 2010-12-22 16:13:37

+0

啊,这就解释了为什么我得到更好质量的抗锯齿,如果我以更高的分辨率栅格化而不是使用默认的Graphics3D外观......我可能根本不应该使用默认的抗锯齿 – 2010-12-22 19:12:09

回答

0

只是一个快速的评论:你有没有在首选项对话框中启用消除锯齿?