2011-09-07 2 views
1
하게

안녕하세요는이 enter image description herestretchableImageWithLeftCapWidth 이미지 흐릿한

같은 이미지를 가지고 있고 그것을 잘 늘릴 수 있다고 생각합니다. 폭은 17px, 높이는 30px입니다.

그냥 가로로 늘릴 수 있기를 바랍니다. 그러나 이것이 내가 스트레칭 할 때 끝나는 것입니다. 그것을 스트레칭 밖으로 enter image description here

...

enter image description here는 어쩌면 나는이 코너에 대한 까다롭게 해요하지만 그것보다 조금 더 작업을해야처럼 그냥 보인다.

도움이 될 것입니다!

int textWidth = [text length] * 10; 

    CGRect rect = CGRectMake(32.50f, 14.5f, 40.0f, 30.0f); 

    UIImage* img = [[UIImage imageNamed:@"screen_displayer_rounded.png"] stretchableImageWithLeftCapWidth:8 topCapHeight:0]; 
    UIImageView* imgView = [[UIImageView alloc] initWithFrame:rect]; 

    [imgView setImage:img];  

    //[imgView addSubview:label]; 
    NSLog(@"imge %@", imgView.subviews); 

    [self addSubview:imgView]; 

답변

3

적어도 가로로 5 픽셀, 세로로 6 픽셀을 유지해야합니다. 따라서 대신 5x6을 4x0으로 사용하십시오 (btw, 0은 전체 이미지를 늘림). 이렇게하면 iOS에서 여섯 번째와 일곱 번째 픽셀을 사용하여 이미지를 확대합니다 (아래 빨간색으로 표시). 당신의 수평 및 수직 둥근 모서리는 각각 5px와 6 픽셀을처럼

corner

+0

죄송합니다. 잘못된 코드를 게시했습니다. 정상적으로 8이면 16이되도록 1 픽셀을 남겨두고 여전히 스트레칭을 위해 남겨 둡니다. 위의 것과 동일합니다 –

+0

rect = CGRectIntegral (rect); ? 픽셀의 일부분에 위치를 지정하면 그래픽이 흐려지는 경우가 있습니다. 그리고 모자 8x0을 8x6으로 바꿉니다. – Jano

+0

해치드 !!!!!!!!!!!!!!!!!!!!! 그것이 무엇을 설명 할 수 있습니까? –

0

포토샵에서 이미지를보고, 그것은 보인다. 그래서, 다음과 같은 줄이 있어야합니다;

UIImage* img = [[UIImage imageNamed:@"screen_displayer_rounded.png"] stretchableImageWithLeftCapWidth:5 topCapHeight:6]; 
+0

상단의 예를 자세히 보아라, 그 어떤 방법으로라도 펴지지 않고, 모퉁이는 단지 흐릿해진다. 내가 너비를 10000으로 설정했다 할지라도, 모서리는 똑같이 유지되고, 단지 흐릿해진다. –

+0

안녕하세요, James 업데이트 된 질문의 경우 topCapHeight는 0으로 유지됩니다. 확인하기 만하면 6으로 설정하려고 했습니까? – Madhu