2
겹치는 다른 색상으로 같은 모양으로 그리는 데 문제가 있습니다. 앤티 앨리어싱을 활성화하면 생성 된 투명 픽셀이 흐려져 this image의 아티팩트가 발생합니다. 그녀는 빨간색 원을 그려서 파란색 삼각형을 그려 빨간색 삼각형을 그립니다.다른 색상의 drawRect에서 모양을 겹쳐서 그리면 앤티 앨리어싱을 사용할 때 가장자리가 흐려집니다.
이 문제는 앤티 앨리어싱을 비활성화하면 해결할 수 있지만 결과는 지그재그 모양으로 나타납니다.
예를 들어 그래픽 컨텍스트에 역대로 앤티 앨리어싱을 적용하거나 이미지에 이미지를 렌더링하고 앤티 앨리어싱을 적용 할 수있는 솔루션이 있습니까? 아니면 선명한 가장자리로 겹쳐진 모양을 그리는 데 도움이되는 다른 것. 여기
는 문제의 drawRect와 함께, 당신은 기본적으로 이미지를 그리고있는 것입니다 문제-(void)drawRect:(CGRect)rect
{
CGContextRef currentContext = UIGraphicsGetCurrentContext();
CGContextClearRect(currentContext, rect);
CGContextSetAllowsAntialiasing(currentContext, YES);
//// Color Declarations
UIColor* color = [UIColor redColor];
UIColor* color2= [UIColor blueColor];
//// Oval Drawing
UIBezierPath* ovalPath = [UIBezierPath bezierPathWithOvalInRect: rect];
[color setFill];
[ovalPath fill];
//// triangle Drawing
UIBezierPath* trianglePath = [UIBezierPath bezierPath];
[trianglePath moveToPoint: CGPointMake(0, 0)];
[trianglePath addLineToPoint: CGPointMake(rect.size.width, rect.size.height)];
[trianglePath addLineToPoint: CGPointMake(0, rect.size.height)];
[trianglePath addLineToPoint: CGPointMake(0, 0)];
[trianglePath closePath];
[color2 setFill];
[trianglePath fill];
[color setFill];
[trianglePath fill];
}
감사합니다. OpenGL에서 같은 그림을 설정하고 멀티 샘플링을 사용하더라도 에지 블리딩이 보이지 않습니다. – TimPelgrim