2013-06-04 62 views
0

我在旋转后旋转了某个角度的视图我没有获得视图的平滑边缘。请检查附加的图像。有没有什么办法让UIView有一个平滑的边缘?如何在旋转UIView之后获得平滑边缘

我为此使用了以下声明。

CGContextRotateCTM(currentContext, RADIANS(-5)); 

Thanks-

enter image description here

回答

0

尝试启用抗锯齿旋转之前:

CGContextSetShouldAntialias(currentContext, true); 
0

设定1个像素的透明边界。这会帮助你神奇。

+0

您能否提供相关代码? – Developer

+0

添加和进口 假设你的视图是CV 现在使用 cv.layer.borderWidth = 1;在像素//边框宽度 cv.layer.borderColor = [的UIColor clearColor] .CGColor; – Ashim

2

如果您为视图的图层设置shouldRasterize = true,它会有很大帮助。

yourView.layer.shouldRasterize = true 

当该属性值是真实的,该层在其本地坐标空间呈现为 位图,然后合成到 目的地与任何其他内容。阴影效果和 中的所有滤镜属性都被栅格化并包含在位图中。 但是,图层的当前不透明度未被栅格化。如果 光栅化位图需要在合成期间缩放,则 中的滤镜将根据需要应用 minificationFilter和magnificationFilter属性。

+1

这仅适用于应用于图层的变换。 OP使用Quartz(CoreGraphics)绘图。 –

+0

这确实是通常的解决方案,当你做一些像** whitePanel.transform = CGAffineTransform.init(rotationAngle:-d)** – Fattie