2013-03-16 2 views
0

크기 조정을하기 전에 확인한 내용이 UIImage입니다. ccsprite로 설정할 수 있도록 크기를 조정해야합니다. 이미지의 크기를 조정하면 흰색 이미지가 나타납니다.

UIImage *scaled=[newImage copy]; 
//scale the image 
CGRect screenRect = CGRectMake(0, 0, 640.0, 960.0); 
UIGraphicsBeginImageContext(screenRect.size); 
scaled = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 
CCSprite * image = [CCSprite spriteWithCGImage:scaled.CGImage 
              key:[NSString stringWithFormat:@"%d",[localImagesSpritesArray count]]]; 

그것은 무엇을 할 수 ... 나는 그것을 확장,하지만 난 흰색 이미지를 가지고?

+0

어디에서 이미지를 새로운 컨텍스트로 크기 조절합니까? ** 힌트 ** :'CGContextDrawImage (context, screenRect, scale.CGImage); ' – Till

+1

왜'newImage'의 복사본을 만든 다음 그 결과를 버리시겠습니까? – rmaddy

+0

또한,'screenRect'를 하드 코딩해서는 안됩니다. UIScreen에서 가져와야합니다. 'UIGraphicsBeginImageContext' 대신에'UIGraphicsBeginImageContextWithOptions'를 사용할 수도 있습니다; 'WithOptions' 버전은 컨텍스트의 스케일 인수를 지정하거나 자동 감지하도록 요청할 수 있습니다. 무조건 사용하는 함수는 '1.0'의 배율 인수를 사용합니다. 이는 비 망막 이미지를위한 것입니다. –

답변

1
UIGraphicsBeginImageContext(screenRect.size); 
[newImage drawInRect:screenRect]; //you have to add this line 
scaled = UIGraphicsGetImageFromCurrentImageContext(); 
+0

고마워,하지만 어떻게 든 이미지 비율을 변경하고 그것을 스트레칭 .. 당신이 추가 한 라인과 screenRect 해상도 사이의 관계는 뭐죠? 그들은 동일해야합니까? – Curnelious

+0

@Rant : 당신은 그 사각형을 그리라고 말했기 때문에, 그 사각형의 크기로 확장됩니다. 그 크기를 달성하기 위해 스트레칭해야한다면 스트레칭이됩니다. aspect-fit을하고 싶다면, 오른쪽의 "Related"목록에서이 질문을보십시오 : http://stackoverflow.com/q/1703100/30461 –

관련 문제