我已经设法使用以下代码获取存储在 Assets 库中的照片的原始文件名:
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
方法。
希望这对您有所帮助。
关于objective-c - 将 NSString 中的文件名转换为 UIImage 以获取存储在 Assets 库中的照片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9983355/