2014-12-19 4 views
1

화면에 UIImageView가 있고 해당 UIImageView의 배경색이 파란색이므로 파란색 사각형입니다.UIImageView의 앤티 앨리어스 UIImage

투명한 배경에 흰색 모양의 UIImage가 있습니다. 투명과 흰색의 두 가지 색상입니다. 이미지에 안티 앨리어싱이 없어 지그재그로 보입니다.

내가하고 싶은 것은 이미지를 이미지 뷰에 넣는 것이지만 앨리어싱을 방지하는 것입니다. 나는 단지 내가 내 흰색 모양의 파란색 사각형을 얻을

다음
myimageview.image=myImage; 

로 이미지보기에 넣어하지만 안티 별명을하지 않습니다 경우이 좋은 부드러운 외모 때문에 즉, 파란색에 흰색을 혼합 . 나는 파란색 배경에 이미지를 얻었는데, 그것은 내가해야 할 일을 추측합니다.

내 질문은, 가능 이미지를 uiimageview에 추가 할 수 있지만 안티 앨리어싱을 사용합니까?

감사합니다.

+0

당신은 (안티 앨리어싱과 이미지를 렌더링에 해당 이미지에 가우시안 블러를 적용) 당신이 CIFilter와 함께 할 수있는 이미지를 약간 흐리게 할 필요가있다. 문제는 왜 앤티 앨리어싱으로 사각형을 렌더링하지 않는 것입니까? –

답변

0

아니요. 최소한 이미지 데이터를 조작하는 복잡한 코드가 없어도됩니다. 당신이 시작하는 이미지는 부드러운 디스플레이에 필요한 세부 사항이 부족합니다.

그러나 런타임에 이미지를 그리는 것이 좋습니다. 다음은 그리기 방법의 샘플이며 UIImage로 변환하는 쉬운 방법입니다. 여기에는 파일 크기가 작고 모든 iOS 장치에서 최적의 해상도를 비롯하여 몇 가지 장점이 있습니다.

같은 코드를 생성하는 데 도움이되는 도구가 있습니다. PaintCode가 내가 선호하는 도구입니다.

static UIImage* _imageOfStarShape = nil; 

+ (void)drawStarShape 
{ 
    //// Star Drawing 
    UIBezierPath* starPath = UIBezierPath.bezierPath; 
    [starPath moveToPoint: CGPointMake(50, 22.5)]; 
    [starPath addLineToPoint: CGPointMake(58.99, 35.62)]; 
    [starPath addLineToPoint: CGPointMake(74.25, 40.12)]; 
    [starPath addLineToPoint: CGPointMake(64.55, 52.73)]; 
    [starPath addLineToPoint: CGPointMake(64.99, 68.63)]; 
    [starPath addLineToPoint: CGPointMake(50, 63.3)]; 
    [starPath addLineToPoint: CGPointMake(35.01, 68.63)]; 
    [starPath addLineToPoint: CGPointMake(35.45, 52.73)]; 
    [starPath addLineToPoint: CGPointMake(25.75, 40.12)]; 
    [starPath addLineToPoint: CGPointMake(41.01, 35.62)]; 
    [starPath closePath]; 
    [UIColor.whiteColor setFill]; 
    [starPath fill]; 
} 

+ (UIImage*)imageOfStarShape 
{ 
    if (_imageOfStarShape) 
     return _imageOfStarShape; 

    UIGraphicsBeginImageContextWithOptions(CGSizeMake(100, 100), NO, 0.0f); 
    [ThisClass drawStarShape]; 

    _imageOfStarShape = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 

    return _imageOfStarShape; 
} 
+0

더 높은 품질의 이미지 파일을 만드는 것이 더 간단하지 않습니까? – jlehr

+0

아마도,하지만 당신은 결국 다른 장치에 대한 여러 해상도를 유지하고 파일 크기가 커질 것입니다. 올바른 도구를 사용하면 비트 맵 이미지를 포함하는 것보다 논리적으로 쉽게 이러한 그리기 방법을 만들 수 있습니다. – picciano

+0

OP가 이미지의 모양을 지정하지 않았다고 가정하면 그리기가 쉽거나 어렵다는 것을 어떻게 알 수 있습니까? – jlehr

관련 문제