2009-08-01 1 views

답변

2

이미지 자체의 가장자리는 보간되지 않고 직접 픽셀 눈금에 배치되기 때문에 들쭉날쭉하게 보입니다. Nearest Neighbor Interpolation은 가장 간단한 보간법입니다. 픽셀 그리드 A가 있고 이미지를 픽셀 그리드 B로 이동하면 그리드 B의 픽셀은 단순히 그리드 A에서 가장 가까운 픽셀을 선택하여 선택됩니다. 다른 보간법은 가중 평균을 선택합니다 그리드 B의 픽셀 값에 도달 할 가장 가까운 픽셀의 수를 나타냅니다.

가장자리가 고르지 않고 이미지가 가장 가까운 이웃 보간법을 사용하는 것처럼 보입니다.이 보간법은 아이폰의 어파 인 변형에 대한 기본 보간 유형입니다.

가장 가까운 네이티브 이외의 다른 보간 체계를 사용하면 aliasing 개의 효과가 발생하며, 한 픽셀 그리드에서 다른 픽셀 그리드로 전송할 때 하위 샘플링이 완벽하지 않습니다. 이 효과는 이미지 자체의 가장자리가 그렇지 않은 것보다 흐리게 보입니다.

+0

설명해 주셔서 감사합니다. 그러나 iphone에서 객관적으로이 작업을 수행 할 수있는 방법을 알고 계십니까? – Ton

+0

CGInterpolationQuality를 kCGInterpolationHigh로 설정해보십시오. – mmr

+1

그 값을 설정하는 예제가 있습니까? 난 그냥 내 안에 UIImage와 함께 내 imageView을 가지고. – Ton

1

언제는 픽셀 보간에 의한 약간 부드러운 가장자리를 일으킬 것입니다 (90 ° 단위 제외) 이미지를 변환합니다.

+0

해두는,하지만 난 내 이미지가 부드럽고 약간의 가장자리가 생각하지 않는, 정말 당신은 이미지를 살펴보고 당신이 정상을 생각한다면 나에게 말할 수있는! 추한 모습? 내 질문에 링크가 포함되어 있습니다. – Ton

2

은 당신의 이미지 최고의 안티 앨리어싱을 제공합니다 이미지를 래스터 할 수있는 UIImageView의의 CALayer를 사용

CGRect imageRect = CGRectMake(0, 0, image.size.width, image.size.height); 
UIGraphicsBeginImageContext(imageRect.size); 
[image drawInRect:CGRectMake(1,1,image.size.width-2,image.size.height-2)]; 
image = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 
11

에 1 픽셀의 투명 테두리를 추가.

imageView.layer.shouldRasterize = YES; 
+0

완벽하게 작동합니다! 감사! – DonnaLea

+0

이것은 나를 위해 완벽하게 작동했습니다. 고정 된 jaggies 일반 색상의 배경 UIView, 몇도 회전. – mattorb

관련 문제