Tag: alasset

video文件缩略图时间戳在ALAsset中丢失

嗨,我收到来自ALAsset库的所有照片和video缩略图。 我的代码工作正常我得到照片和video缩略图。但在video缩略图中缺lessvideo图标和它的时间戳。 [assetImageView setImage:[UIImage imageWithCGImage:[self.asset thumbnail]]]; 我越来越像以上..我使用ELCImagePickerDemp API 我需要得到这样的我缺less时间和图标在右下angular的缩略图。 任何帮助将不胜感激… THX

imageWithCGImage根据仪器泄漏

下面是仪器应用程序的截图。 有没有解释这条线有什么问题?

从ALAssetRepresentation中为CGImageRef设置最大大小

我目前使用下面的代码从iOS应用程序中的ALAsset获取UIImage。 ALAssetRepresentation *rep = [self.asset defaultRepresentation]; CGImageRef ref = [rep fullResolutionImage]; ALAssetOrientation orientation = [[self.asset valueForProperty:@"ALAssetPropertyOrientation"] intValue]; UIImage *image = [UIImage imageWithCGImage:ref scale:1.0 orientation:(UIImageOrientation)orientation]; 只要图像相当小(例如,使用设备的相机拍摄),此function就可以很好地工作。 但是,如果图片太大(6000px ^ 2以上),则在此步骤中应用程序将耗尽内存: CGImageRef ref = [rep fullResolutionImage]; 我想在应用程序崩溃之前检测此情况,或者(理想情况下)为返回的图像设置最大大小。 我知道fullScreenImage将返回一个较小的图像,但是应用程序需要从图像的更高分辨率进行缩放。 此外,使用资源的字节大小是不可靠的,因为高度压缩的格式(例如JPG)可能在封装大小方面很小,但是如果它们的像素大小(低细节图像,高度压缩的图像),则仍然消耗太多内存。 任何关于如何获取图像的尺寸和事先检测到这种情况的input,所以我可以取消加载和显示错误,或如何获得这样一个大型资产的较小版本将不胜感激。

使用ALAsset从GRKPhoto UIImage

我正在使用grabKit ,以允许用户将他们的Instagram,Facebook和本地图片导入到我的应用程序。 问题出在照片是本地的时候。 在这种情况下,我使用一种在用户select照片时起作用的方法。 我发现的标准代码如下: – (void)picker:(GRKPickerViewController *)picker didSelectPhoto:(GRKPhoto *)photo { [popover dismissPopoverAnimated:YES]; GRKImage * originalImage = [photo originalImage]; NSLog(@“所选第一张照片的原始图像的URL是:%@”,originalImage.URL); NSLog(@“这个图像的大小是:%dx%d”,originalImage.width,originalImage.height); //如果url以assets-library开头:// if([[originalImage.URL absoluteString] hasPrefix:@“assets-library://”]){ //实例化一个库 ALAssetsLibrary * library = [[ALAssetsLibrary alloc] init]; //请求URL的“资产”。 资产是Photo应用程序中图像的表示forms。 [library assetForURL:originalImage.URL resultBlock:^(ALAsset *资产){ //在这里,我们有资产,让我们从中检索图像 CGImageRef imgRef = [[asset defaultRepresentation] fullResolutionImage]; //从CGImage开始,我们来构build一个UIImage UIImage * fullResImage = [UIImage imageWithCGImage:imgRef]; NSLog(@“UIImage for […]

从UIImage(照片库)获取RGB数据的快速方法

我想获得一个数据数组,其中包含存储在iOS(ios8 sdk)上的照片库(ALAsset)中的图片的RGB表示。 我已经试过这个方法: 使用[ALAssetRepresentation fullScreenImage]从ALAsset获取CGImage 将CGImage绘制到CGContext。 该方法的工作原理,我得到一个指向rgb数据,但这是非常缓慢 (有2个转换)。 最终目标是在OpenGL纹理中快速加载图像。 我的代码来从照片库中获取图像 ALAsset* currentPhotoAsset = (ALAsset*) [self.photoAssetList objectAtIndex:_currentPhotoAssetIndex]; ALAssetRepresentation *representation = [currentPhotoAsset defaultRepresentation]; //-> REALLY SLOW UIImage *currentPhoto = [UIImage imageWithCGImage:[representation fullScreenImage]]; 我的代码在CGContext上绘制: CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); NSUInteger bytesPerPixel = 4; NSUInteger bytesPerRow = bytesPerPixel * textureWidth; NSUInteger bitsPerComponent = 8; CGContextRef context = CGBitmapContextCreate(textureData, textureWidth, textureHeight, […]

ALAsset valueForProperty:ALAssetPropertyLocation未声明?

这可能看起来太简单了,或者只是让我感到困惑……或者我太累了,不能理性思考。 我正在尝试从使用imagePickerController的相册中获取用户select的UIImage的位置。 – (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { UIImage *pic = [info objectForKey:@"UIImagePickerControllerOriginalImage"]; NSData *data = UIImageJPEGRepresentation(pic, 0.01f); UIImage *image1 = [UIImage imageWithData:data]; bookmarkImage.image = image1; NSLog(@"new image size = %i", [data length]); NSURL *url = [info objectForKey:@"UIImagePickerControllerReferenceURL"]; 4NSLog(@"%@",url); ALAssetsLibraryAssetForURLResultBlock resultBlock = ^(ALAsset *myAsset){ [myAsset valueForProperty:ALAssetPropertyLocation]; }; [self dismissModalViewControllerAnimated:YES]; } 现在,我尝试调用ALAsset的valueForProperty是我遇到麻烦的地方。 这是我得到的错误: 使用未声明的标识符“ALAssetPropertyLocation”。 请帮忙! 这真是令人沮丧…我需要照片的位置…

使用ALAssetsLibrary从iphone相册中读取图像

我正在尝试编写一个方法来读取相册中的资源我使用ALAsset从所有相册中获取所有图像,我的问题是如何自定义此方法以从myAlbum读取图像 /** * This method is used to get all images from myAlbum * folder in device if getAlbumImages is set to 1 * else loads all images from devices library */ -(void)readImages:(int)getAlbumImages { imageArray = [[NSArray alloc] init]; mutableArray =[[NSMutableArray alloc]init]; NSMutableArray* assetURLDictionaries = [[NSMutableArray alloc] init]; library = [[ALAssetsLibrary alloc] init]; if(getFolderImages == […]

如何从iOS照片(如相机胶卷)获取图像创build的date时间或上次修改的date时间?

我是iOS的新人。 最近,我正在开发一个iOS应用程序,需要检查图像(在iOS 照片中 )创builddate时间和修改date时间,以便按时间sorting这些图像。 我使用ALAssetsLibrary枚举所有的图像,我可以得到每个图像的以下属性:图像文件名,图像资产url(在它,我可以得到图像文件扩展名和唯一的资产ID)。 但有人可以告诉我如何获取图像文件创builddate时间和上次修改date时间? 非常感谢。

获取ALAsset的path

我如何获得ALAssets数组中的每个项目的path? 我想获取图像,以便我可以将它们添加到电子邮件 例如 NSString *path = [[NSBundle mainBundle] pathForResource:@"sample" ofType:@"png"]; NSData *myData = [NSData dataWithContentsOfFile:path]; [mailViewController addAttachmentData:myData mimeType:@"image/png" fileName:@"sample"]; 如何才能做到这一点?

如何获得共享照片streamALAsset的ALAssetRepresentation?

当我尝试从照片stream中访问图片时,有时[asset defaultRepresentation]方法返回nil。 根据文件,这可能发生,如果资产尚未(本地)可用。 该方法返回nil,用于共享照片stream中尚未本地尚未提供的资产。 如果资产将来可用,则发布ALAssetsLibraryChangedNotification通知。 一旦我在Photos.app中查看照片,它也可用于我的应用程序,但显然我希望让我的应用程序触发“本地下载”事件。 我查看了Apple的MyImagePicker示例代码,但是它performance出相同的行为(只有缩略图可用) 我如何使资产在当地可用? 编辑:由于苹果在iOS8中引入了Photos.framework ,并且使用ALAssets在iOS9中已被弃用,所以这可能永远不会被修复。