2009-09-23 3 views
4

drawRect 메서드에서 원을 그려서 색상으로 채 웁니다. 이제 원에 빛나는 효과를 추가해야합니다. 버튼을 클릭하면 원이 빛나야합니다. 내가 어떻게 할 수 있니? 어떤 도움이라도 대단히 감사하겠습니다!원에 빛나는 효과 추가

미리 감사드립니다.

답변

8

Quartz 2D를 사용하는 경우 원에 흰색 음영을 추가하기 만하면됩니다.

void MyDrawWithShadows (CGContextRef myContext, // 1 
         float wd, float ht); 
{ 
    CGSize   myShadowOffset = CGSizeMake (-15, 20);// 2 
    float   myColorValues[] = {1.0, 1.0, 1.0, .6};// 3 (White shadow colour) 
    CGColorRef  myColor;// 4 
    CGColorSpaceRef myColorSpace;// 5 

    CGContextSaveGState(myContext);// 6 

    CGContextSetShadow (myContext, myShadowOffset, 5); // 7 

    // Your drawing code here!!!!!!!!!!!!!!!! // 8 

    CGContextSetRGBFillColor (myContext, 0, 1, 0, 1); 
    CGContextFillRect (myContext, CGRectMake (wd/3 + 75, ht/2 , wd/4, ht/4)); 

    myColorSpace = CGColorSpaceCreateDeviceRGB();// 9 
    myColor = CGColorCreate (myColorSpace, myColorValues);// 10 
    CGContextSetShadowWithColor (myContext, myShadowOffset, 5, myColor);// 11 
    // Your drawing code here// 12 
    CGContextSetRGBFillColor (myContext, 0, 0, 1, 1); 
    CGContextFillRect (myContext, CGRectMake (wd/3-75,ht/2-100,wd/4,ht/4)); 

    CGColorRelease (myColor);// 13 
    CGColorSpaceRelease (myColorSpace); // 14 

    CGContextRestoreGState(myContext);// 15 
} 

행운을 빕니다 :

은 위의 링크에서 가져온 그림자를 설정하기위한 Quartz 2D Programming Guide for Shadows

애플의 샘플 코드를 참조하십시오!

Comment line 3 위의 설명은 그림자가 흰색 (1.0, 1.0, 1.0)임을 의미합니다. 설명 2 행은 그림자 오프셋입니다.

+0

위 코드의 핵심 구성 요소는 CGContextSetShadowWithColor()를 호출 한 것입니다. 7 번과 8 번 라인은 블랙 섀도우를 설정하는데, 아마도 원하지 않을 것입니다. 이 답변에 대한 자세한 정보를 제공합니다. http://stackoverflow.com/questions/1229721/is-there-an-easy-way-or-library-available-to-let-text-glow/1230907# 1230907 –

+1

브록 감사합니다. 그것은 성공했습니다. 하나 더 많은 탐구가 어떻게이 원을 움직일 수 있습니까? 사실 나는 느린 빛나는 효과가 필요합니다. 그것은 특정 이벤트를위한 것이며, 원이 빛나고 그 후에는 빛나는 배경없이 원래의보기로 돌아갑니다. – diana

+0

원형 경로가있는 CAShapeLayer를 시도한 다음 흰색 그림자를 추가하고 그림자 반경에 애니메이션을 적용 할 수 있습니다. – nielsbot

0

원형 원과 색상을 이미지로 사용하여 UIButton을 사용해 보았습니까? 어떤 작업도없이 자동으로 빛나는 효과를 얻습니다.

정확한 광선을 복제하는 것은 사실상 애니메이션이므로 작은 광선으로 시작한 다음 짧은 시간 내에 성장하므로 조금 어렵습니다.

UIControl없이 또는보기로 말하면 단추를 누르고 Photoshop과 같은 그래픽 편집 응용 프로그램에서 적절한 광선을 만든 다음 해당 이미지를 추가 할 수 있습니다 너의 펜촉에. 광선을 표시하려면 작은 크기 변환을 사용하여 펄스를 한 번 만드는 간단한 애니메이션으로보기에 추가하십시오.

행운을 빈다.