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

Col*_*lin 7 iphone 3d antialiasing calayer

一个iPhone SDK问题:我正在屏幕上绘制一个UIImageView.我已经用3D旋转并提供了一些透视图,因此图像看起来像是以一定角度指向屏幕.一切正常.现在问题是结果图像的边缘似乎根本没有抗锯齿.有人知道怎么做吗?

基本上,我正在使用石英三维变换实现我自己的CoverFlow版本(是的,设计专利等等).它工作正常,除了每个封面都没有抗锯齿,苹果版本是.

我已经尝试过使用CALayer的edgeAntialisingMask,但这没有帮助 - 默认是每个边缘应该是抗锯齿的...

谢谢!

Glo*_*ore 19

如果只旋转一个图像,则只有一个技巧可以解决问题.尝试设置

layer.shadowOpacity = 0.01;

之后,3D旋转后图片看起来会更平滑


Lif*_*ely 7

Gloomcore的答案给出了非常好的结果.

然而,这有时让事情真的很糟糕!添加光栅化有一点帮助:

.layer.shadowOpacity = 0.01;
.layer.shouldRasterize = YES;
Run Code Online (Sandbox Code Playgroud)

我知道问题/答案是陈旧的,但是嘿,我才发现它.


dra*_*ard 2

您可以尝试在图像边缘添加一些透明像素,方法是将 UIImageView 放置在应用旋转的稍大的空视图中,或者更改源图像。