2011-10-11 1 views
0

나는 딜레마에 빠지고 있습니다. 나는 이미지의 중간을 보여주고 싶다. 나는 이미지를 스케일하기 위해 mageWithImage : CovertToSize 함수를 사용한다. 문제는 이미지가 높이가 현저히 늘어나고 있다는 것입니다. 그래서 문제는 이미지를 320 픽셀 너비로 확대하고 사진의 중간 또는 가까이에 표시하는 올바른 방법은 무엇입니까? 당신이 경우아이폰 위에 이미지를 보여주세요 - 코코아

UIImage *image = [[UIImage alloc] initWithData:imageData]; 
    Scale *scale = [[Scale alloc] init]; 
    float newHeight = (image.size.height * 2)/image.size.width * 320.0f; 
    image = [scale2 imageWithImage:image CovertToSize:CGRectMake(0, -(newHeight/2), 320.0f, newHeight)]; 
    CGImageRef imageRef; 
    if (newHeight > 125) { 
     imageRef = CGImageCreateWithImageInRect([image CGImage], CGRectMake(0, 0, 320, 125)); 
    }else{ 
     imageRef = CGImageCreateWithImageInRect([image CGImage], CGRectMake(0, 0, 320, newHeight)); 
    } 
    NSData *imgData = UIImageJPEGRepresentation([UIImage imageWithCGImage:imageRef], 1.0); 
    UIImage *cimg = [UIImage imageWithData:imgData]; 
+0

귀하의 궁금한 점은 무엇입니까? – PengOne

+0

질문이 무엇이고 문제가 무엇인지 명확히하기 위해 게시물을 편집했습니다. 감사합니다 – PetersCodeProblems

답변

0

층이 작동하는 방법 당신의 인식 그렇지 않을 경우, http://www.ruttencutter.com/?p=90 , 당신이 잘라 중간에 선택한 영역과 계층 같은 이미지의 프레임을 제안 레이어에서, 그래서, 당신은 그 선택된 영역 만 볼 수 있도록 그곳에 이미지를 넣을 수 있습니다.

+0

이것은 비슷한 상황에서 작동 할 수 있습니다, 나는 내 상황에서 작동시키지 못했습니다. 그러나 제안에 감사드립니다! – PetersCodeProblems

+0

문제는 없지만 cocos2d 프레임 워크가 설치되어 있습니까? 그게 당신 문제 일 수 있습니다. 나는 레이어가 cocos2d와 함께 온다고 생각합니다. – Gabe