相关疑难解决方法(0)

旋转UIImageView的任何快速和脏的抗锯齿技术?

我有一个UIImageView(全帧和矩形),我正在用CGAffineTransform旋转.UIImageView的UIImage填充整个帧.旋转和绘制图像时,边缘会出现明显的锯齿状.有什么我可以做的让它看起来更好吗?显然没有背景消除锯齿.

iphone cocoa-touch antialiasing uiimageview uiimage

26
推荐指数
6
解决办法
2万
查看次数

CALayer的反别名对角线边缘

当我使用CATransform3DRotate设置CALayer的transform属性时,图层被正确旋转.但是,图层的边缘是锯齿状的,没有消除锯齿.我读了几篇关于这个主题的帖子:

iPhone:CALayer +旋转3D +抗锯齿?

iPhone - 将视角应用于CALayer时的锯齿状边缘

我试图通过在对角层上设置以下属性来结合他们的建议

CALayer* layer = myView.layer;
layer.shadowOpacity = 0.01;
layer.edgeAntialiasingMask = kCALayerTopEdge | kCALayerBottomEdge | kCALayerRightEdge | kCALayerLeftEdge;
layer.borderWidth = 1.0;
layer.borderColor = [UIColor clearColor].CGColor;
layer.backgroundColor = [UIColor greenColor].CGColor;
Run Code Online (Sandbox Code Playgroud)

我还覆盖了drawLayer:inContext:我的对角线层的方法以确保消除锯齿:

-(void)drawLayer:(CALayer*)layer inContext:(CGContextRef)context
{
    CGContextSetAllowsAntialiasing(context, true);
    CGContextSetShouldAntialias(context, true);
    CGContextSetFillColorWithColor(context, [UIColor greenColor].CGColor);
    CGContextFillRect(context, self.bounds);
}
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

iphone core-animation antialiasing calayer ios

14
推荐指数
2
解决办法
8495
查看次数

如何在iPhoneOS中消除别名图层

我们已经让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)

等......

关于如何使卡实际上是反别名的任何想法?

iphone core-animation

7
推荐指数
1
解决办法
6051
查看次数