保存 UIImages 以在我的应用程序中显示它们的最佳方式?
Best way to save UIImages for displaying them in my App?
我正在开发一款每天为用户拍照的应用程序。一切正常,图像被保存到设备中。我目前可以从标准照片应用程序访问它们。
在应用程序编程的下一步中,我喜欢在我的应用程序中构建一个画廊。我在考虑 iCarousel,但我还不确定。
现在我想知道哪种保存图像的最佳方式用户自己制作?用户应该能够通过使用设备上的标准照片应用程序 和 在我的应用程序的图库中访问图片。我的目标是 iOS 8.1.
目前我保存的照片是这样的:
- (void)takePhoto{
NSLog(@"CameraController: takePhoto()");
AVCaptureConnection *videoConnection = nil;
for(AVCaptureConnection *connection in stillImageOutput.connections){
for(AVCaptureInputPort *port in [connection inputPorts]){
if([[port mediaType] isEqual:AVMediaTypeVideo]){
videoConnection = connection;
break;
}
}
if(videoConnection){
break;
}
}
[stillImageOutput captureStillImageAsynchronouslyFromConnection:videoConnection completionHandler:^(CMSampleBufferRef imageDataSampleBuffer, NSError *error) {
if(imageDataSampleBuffer != NULL) { //this code gets executed if a photo is taken
NSData *imageData = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageDataSampleBuffer];
UIImage *combined = [UIImage imageWithData:imageData];
//....
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
UIImageWriteToSavedPhotosAlbum(combined, nil, nil, nil);
NSLog(@"CameraController: Image saved");
});
}
}];
}
您应该阅读(并使用)PhotoKit。
我现在正在使用iCarousel。我使用 NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
为我喜欢保存并显示在 iCarousel 中的图片生成路径。
我正在开发一款每天为用户拍照的应用程序。一切正常,图像被保存到设备中。我目前可以从标准照片应用程序访问它们。
在应用程序编程的下一步中,我喜欢在我的应用程序中构建一个画廊。我在考虑 iCarousel,但我还不确定。
现在我想知道哪种保存图像的最佳方式用户自己制作?用户应该能够通过使用设备上的标准照片应用程序 和 在我的应用程序的图库中访问图片。我的目标是 iOS 8.1.
目前我保存的照片是这样的:
- (void)takePhoto{
NSLog(@"CameraController: takePhoto()");
AVCaptureConnection *videoConnection = nil;
for(AVCaptureConnection *connection in stillImageOutput.connections){
for(AVCaptureInputPort *port in [connection inputPorts]){
if([[port mediaType] isEqual:AVMediaTypeVideo]){
videoConnection = connection;
break;
}
}
if(videoConnection){
break;
}
}
[stillImageOutput captureStillImageAsynchronouslyFromConnection:videoConnection completionHandler:^(CMSampleBufferRef imageDataSampleBuffer, NSError *error) {
if(imageDataSampleBuffer != NULL) { //this code gets executed if a photo is taken
NSData *imageData = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageDataSampleBuffer];
UIImage *combined = [UIImage imageWithData:imageData];
//....
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
UIImageWriteToSavedPhotosAlbum(combined, nil, nil, nil);
NSLog(@"CameraController: Image saved");
});
}
}];
}
您应该阅读(并使用)PhotoKit。
我现在正在使用iCarousel。我使用 NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
为我喜欢保存并显示在 iCarousel 中的图片生成路径。