【发布时间】:2010-03-17 20:29:51
【问题描述】:
我们已经用了几个月的 Reiner Knizia 的钱。它是 做得很好,所以我们一直在时间允许的情况下更新它。 然而,有一件事继续困扰着我。我从来没能得到我的 正确分层卡片以消除锯齿。
这是一个示例:
平直的牌非常干净,但无论何时 有角度的卡片周围的黑线变得锯齿状。我试过这个 取决于艺术品隐含的线条和绘制的线条 通过drawRect:,他们都做同样的事情。我试过了 edgeAntiAliasingMask,据我所知,它没有做任何事情。 我已经尝试将 maskToBounds 设置为 NO 和 YES。
现在我的卡设置为具有子 CALayer 的 CALayer 正面和背面,再加上一些其他的东西,比如美白面膜 和一个变暗的面具。这是代码的一些sn-ps:
CArdLayer *theCardLayer = [CArdLayer layer];
theCardLayer.edgeAntialiasingMask = kCALayerLeftEdge | kCALayerRightEdge | kCALayerBottomEdge | kCALayerTopEdge;
theCardLayer.front = [CALayer layer];
theCardLayer.front.edgeAntialiasingMask = kCALayerLeftEdge | kCALayerRightEdge | kCALayerBottomEdge | kCALayerTopEdge;
theCardLayer.front.bounds = theCardLayer.bounds;
theCardLayer.front.masksToBounds = YES;
theCardLayer.front.contents = (id)[cardDrawing CGImage];
[theCardLayer addSublayer:theCardLayer.front];
等等……
关于如何使卡片真正抗锯齿的任何想法?
【问题讨论】:
-
这个问题类似:stackoverflow.com/questions/1136110/…(这个问题是指 UIImageView,但建议的修复适用于所有 CoreAnimation 层)。
标签: iphone core-animation