我已经使用以下代码获得了存储在资产库中的照片的原始文件名:
NSURL *url = [[NSURL alloc] initWithString:project.photo];
ALAssetsLibrary* library = [[ALAssetsLibrary alloc] init];
[library assetForURL:url resultBlock:^(ALAsset *asset) {
ALAssetRepresentation *rep = [asset defaultRepresentation];
_filename = [rep filename];
NSLog(@"filename for image is: %@", _filename);
if (_filename != nil)
{
UIImage *image = [UIImage imageWithContentsOfFile:_filename];
NSLog(@"image is! %f", image.size.height);
[image drawInRect:CGRectMake( (pageSize.width - image.size.width/2)/2, 350, image.size.width/2, image.size.height/2)];
}
NSString变量_filepath将映像的原始文件路径存储为:
IMG_0294.JPG
我想做的就是从照片库中获取这张图片,并使用以下代码将其绘制在pdf文档中:
[image drawInRect:CGRectMake( (pageSize.width - image.size.width/2)/2, 350, image.size.width/2, image.size.height/2)];
这个绘制代码肯定是有效的,因为我已经用存储在应用程序目录中的图像进行了尝试。我只需要找到一种使用文件路径创建UIImage的方法,或者将其指向该照片的完整目录。
图像变量在输出到控制台时返回为null。
任何帮助都会很棒。
我建议您获取照片的url
,而不仅仅是filename
:
imageURL = [rep url];
您可以将此imageURL
与ALAssetsLibrary
方法assetForURL:resultBlock:failureBlock:
一起使用来创建UIImage。
有很多示例代码展示了如何使用assetForURL
方法。
希望这能有所帮助。
您无法通过路径或url从资产库中获取图像。在您的情况下,您需要使用UIImage*image=[UIImage imageWithCGImage:rep.fullResolutionImage];
或者fullScreenImage之类的。。。