を投げる私はAVFoundationからつかんだイメージがあります。保存CIImageは、CGImageに変換することによって、エラー
[stillImage captureStillImageAsynchronouslyFromConnection:videoConnection completionHandler:^(CMSampleBufferRef imageSampleBuffer, NSError *error) {
NSLog(@"image capture");
NSData *imageData = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageSampleBuffer];
UIImage *image = [[UIImage alloc] initWithData:imageData];
を私が最初CIImageに変換することによって、この画像をトリミングしています:
beginImage = [CIImage imageWithCVPixelBuffer:CMSampleBufferGetImageBuffer(imageSampleBuffer) options:[NSDictionary dictionaryWithObjectsAndKeys:[NSNull null], kCIImageColorSpace, nil]];
//first we crop to a square
crop = [CIFilter filterWithName:@"CICrop"];
[crop setValue:[CIVector vectorWithX:0 Y:0 Z:70 W:70] forKey:@"inputRectangle"];
[crop setValue:beginImage forKey:@"inputImage"];
croppedColourImage = [crop valueForKey:@"outputImage"];
私はその後、私はそれを保存することができるようにCGImageにこのバックを変換しようとしている:
CGImageRef cropColourImage = [context createCGImage:croppedColourImage fromRect:[croppedColourImage extent]];
UIImage *cropSaveImage = [UIImage imageWithCGImage:cropColourImage];
//saving of the images
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library writeImageToSavedPhotosAlbum:[cropSaveImage CGImage] orientation:(ALAssetOrientation)[image imageOrientation] completionBlock:^(NSURL *assetURL, NSError *error){
if (error) {
NSLog(@"ERROR in image save :%@", error);
} else
{
NSLog(@"SUCCESS in image save");
}
}];
しかし、これはスローエラーは:
ERROR in image save :Error Domain=ALAssetsLibraryErrorDomain Code=-3304 "Failed to encode image for saved photos." UserInfo=0x19fbd0 {NSUnderlyingError=0x18efa0 "Failed to encode image for saved photos.", NSLocalizedDescription=Failed to encode image for saved photos.}
私はイメージが0x0のピクセルだった場合、これが発生する可能性があること、およびCGImageへCIImageからの変換が問題を引き起こす可能性があることを他の場所で読みました。何か案は?
ありがとうございます。
私は保存しようとしている画像に寸法がなく、幅と高さがヌルであると思われるためです。 "2012-05-06 14:39:22.886 zApp [5108:707]保存される画像の幅が(null) 2012-05-06 14:39:22.890 zApp [5108:707]保存される画像の高さが:(null) " – mrEmpty
NSLogコードにエラーがあり、保存しようとしている画像が0x0ピクセルであることを確認できます。だから私は問題だと思うが、何が起こっているのか分からない。 – mrEmpty