iPhoneカメラを使用して写真をキャプチャする場合、画像はデフォルトでJPEG形式で保存されます。
PNGなどの他の形式でキャプチャした画像を保存したいと思います。出来ますか?
アプリケーションからiPhoneカメラを呼び出すときにコードからこれを行うことは可能ですか?写真をキャプチャした後に保存する必要がある画像タイプを設定できますか?写真を撮る前にカメラを開いてタイプを設定するということですか?
iPhoneカメラを使用して写真をキャプチャする場合、画像はデフォルトでJPEG形式で保存されます。
PNGなどの他の形式でキャプチャした画像を保存したいと思います。出来ますか?
アプリケーションからiPhoneカメラを呼び出すときにコードからこれを行うことは可能ですか?写真をキャプチャした後に保存する必要がある画像タイプを設定できますか?写真を撮る前にカメラを開いてタイプを設定するということですか?
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
// png image data
NSData *pngData = UIImagePNGRepresentation(image);
// jpeg image data
NSData *jpegData = UIImageJPEGRepresentation(image, compressionQuality); // compressionQuality = 0.0 to 1.0 --> 0 means maximum compression and 1 means minimum compression
NSData を取得したら、このデータを特定のファイルに保存できます。詳細については、このリンクを参照してください
これがあなたを助けることを願っています。
これは、pngタイプで画像を保存するのに役立ちます
-(void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingImage : (UIImage *)image
editingInfo:(NSDictionary *)editingInfo
{
NSError *error;
NSString *pngPath = [NSHomeDirectory() stringByAppendingPathComponent:[NSString stringWithFormat:@"Documents/%@.png",@"photoname"]];
[UIImagePNGRepresentation(image) writeToFile:pngPath atomically:NO];
NSString *documentsDirectory = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
NSLog(@"Documents directory: %@", [fileManager contentsOfDirectoryAtPath:documentsDirectory error:&error]);
[self dismissModalViewControllerAnimated:YES];
}
メソッドでこれに似たものを使用して、キャプチャしたオブジェクトをPNGとして保存できます。
// Create paths to output images
NSString *thePngPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/Example.png"];
NSString *theJpgPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/Example.jpg"];
// Write a UIImage to JPEG with minimum compression (best quality)
// The value 'image' must be a UIImage object
// The value '1.0' represents image compression quality as value from 0.0 to 1.0
[UIImageJPEGRepresentation(image, 1.0) writeToFile:theJpgPath atomically:YES];
// Write image to PNG
[UIImagePNGRepresentation(image) writeToFile:thePngPath atomically:YES];
このコードを使用して、
NSData* pngdata = UIImagePNGRepresentation (image); //PNG wrap
UIImage* img = [UIImage imageWithData:pngdata];
UIImageWriteToSavedPhotosAlbum(img, nil, nil, nil);