// 画像選択画面で画像が選択された
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
CGSize winSize = [[CCDirector sharedDirector] winSize];
// 画像を取得する
UIImage* image = [info objectForKey:UIImagePickerControllerEditedImage];
if (!image) {
image = [info objectForKey:UIImagePickerControllerOriginalImage];
}
// 取得した画像サイズを画面内に収まる大きさに調整する
CGImageRef imageRef = [image CGImage];
size_t w = CGImageGetWidth(imageRef);
size_t h = CGImageGetHeight(imageRef);
size_t resizeW, resizeH;
// iPhoneの撮影はかならず横長になる為、縦長基準で縮小後に横を切り取る
resizeH = winSize.height;
resizeW = w * resizeH / h;
size_t cutW = winSize.width;
UIGraphicsBeginImageContext(CGSizeMake(cutW, resizeH));
[image drawInRect:CGRectMake(0, 0, cutW, resizeH)];
image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
}
後はUIImageであるimageをCCSpriteで読み込んで画面に貼付ければ、無事完了ですね。
コメントする