Sha*_* A. 7 iphone core-animation
我们已经让Reiner Knizia的钱出现了几个月了.它做得很好,所以我们一直在更新它,因为时间允许.然而,有一件事继续让我烦恼.我从来没有能够正确地将我的分层卡片用于消除别名.
这是一个示例:
直线放置的卡非常干净,但每当它们成角度时,卡周围的黑线会变得锯齿状.我试过这个,取决于艺术品隐含的两条线和通过drawRect:绘制的线,它们都做同样的事情.我已经尝试过edgeAntiAliasingMask,据我所知,它没有做任何事情.我已经为子层设置为NO和YES尝试了maskToBounds.
现在我的卡被设置为CALayer,前面和后面都有子CALayers,另外还有一些其他的东西,比如闪电面具和变暗的面具.这是代码的一些片段:
   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];
Run Code Online (Sandbox Code Playgroud)
等......
关于如何使卡实际上是反别名的任何想法?
我能得到的最好结果是按照我在评论中建议的操作:我将每个(透明)图形的每一侧各增加 1 个像素。有了这一点边距,卡片与背景的合成效果就更好了。
因此,这并不完全是 iPhone 代码答案,但仍然可以在 iPhone 上运行。
这是“之后”的镜头,您可以将其与上面的“之前”进行比较:
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           6051 次  |  
        
|   最近记录:  |