iOS 6.1 を搭載した iPad 3 Retina で、静止カメラを次のように初期化します。
stillCamera = [[GPUImageStillCamera alloc] initWithSessionPreset:AVCaptureSessionPresetPhoto cameraPosition:AVCaptureDevicePositionBack];
stillCamera.outputImageOrientation = UIInterfaceOrientationLandscapeLeft;
これらのフィルターを使用してカメラをセットアップしました。
UIImage *inputImage = [UIImage imageNamed:@"blank-1x1.png"];
sourcePicture = [[GPUImagePicture alloc] initWithImage:inputImage smoothlyScaleOutput:YES];
[sourcePicture processImage];
chromaKeyBlendFilter = [[GPUImageChromaKeyBlendFilter alloc] init];
[chromaKeyBlendFilter setColorToReplaceRed:0.0 green:1.0 blue:0.0];
[chromaKeyBlendFilter setThresholdSensitivity:0.37f];
filter = chromaKeyBlendFilter;
[stillCamera addTarget:filter];
[sourcePicture addTarget:filter];
[filter addTarget:videoPreviewView]; // 1024x768 view
[stillCamera startCameraCapture];
そして、私が使用する画像をキャプチャするとき:
[stillCamera capturePhotoAsPNGProcessedUpToFilter:filter withCompletionHandler:^(NSData *processedPNG, NSError *error){
self.currentImage = [UIImage imageWithData:processedPNG];
});
しかし、返される画像は、背面カメラに期待する 2420x1936 ではなく、画面サイズ (Retina スタイル) 2048x1536 です。また、#imageFromCurrentlyProcessedOutputWithOrientation# が画面サイズのみを返すことにも気付きました。GPUImageStillCamera.m のキャプチャ コードを見ると、そこから出力が開始されているように見えます。
GPUImage 以外のセットアップを使用するオプション/ボタンもあり、2420x1936 の PNG 画像が返されるため、理由はわかりません。
ここで何が間違っていますか?ヒントをありがとう(2420x1936が本当に欲しいので)。