我的旋转图像没有锐边

Ton*_*Ton 6 iphone image rotation uiimageview

我用以下代码旋转我的图像:

CGAffineTransform rotate = CGAffineTransformMakeRotation( [ratio floatValue] );
[imageView setTransform:rotate];
Run Code Online (Sandbox Code Playgroud)

但它没有锋利的边缘,有人知道解决方案吗?

这是我得到的图像:

在此输入图像描述

poe*_*ain 12

使用UIImageView的CALayer对图像进行栅格化将提供最佳的抗锯齿效果.

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


mmr*_*mmr 2

图像本身的边缘看起来是锯齿状的,因为它们被直接放入像素网格中,而不是被插值。 最近邻插值是最简单的插值,如果您有像素网格 A 并将图像移动到像素网格 B,则只需从网格 A 中选择最近的像素即可选择网格 B 中的像素。其他形式的插值选择对最接近的像素进行加权平均,得出网格 B 中的像素值。

您的图像具有锯齿状边缘,看起来像是使用最近邻插值,这可能是 iPhone 上仿射变换的默认插值类型。

当您使用除最近邻之外的其他插值方案时,您会得到锯齿效应,当您从一个像素网格转移到另一个像素网格时,子采样并不完美。这种效果使图像本身的边缘看起来比其他情况更模糊。