问题标签 [alasset]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - iOS 5 中是否缺少 ALAsset customMetadata 属性?
Apple 官方文档可在线获取:
记录了 ALAsset 实例的 customMetadata 属性的可用性,但尝试在我在 iOS 5.0.1 设备(或 iOS 5 模拟器实例)上运行的应用程序中访问此属性会导致无法识别的选择器错误。该应用程序是在 Snow Leopard 上使用最新版本的 Xcode 4.2 编译的,并且能够访问 iOS 5 中新增的其他 ALAsset 属性(例如,isEditable)。
我是否遗漏了一些明显的东西,或者文档与实际的 SDK 不一致?
谢谢,
贝伦德
iphone - 当我使用 ALAsset 块检索时,IPAD1 和 IPAD2 中相同的文件大小不同
我已经通过 iTunes 将图像同步到 2 个 Ipad(比如说 IPAD1 和 IPAD2)。然后,当我使用 ALAssetLibrary 块检索图像时,2 个 Ipad 中的文件大小不同。
(IPAD1 文件大小:0.024059,IPAD2 文件大小:0.024325)。
我可以知道,为什么相同的文件在 IPAD1 和 IPAD2 中的大小不同?
但是,我通过 safari 浏览器将图像保存到 IPAD1 和 IPAD2,通过点击同一网页中的图像,当我通过 ALAssetLibarary 检索时,Ipad1 和 Ipad2 中的图像文件大小相同。
请告诉我您的宝贵建议......
用法
我用于检索 PhotoLibrary Image 的代码是:
NSLog(@"GOT ASSET, File size: %f", [rep size] / (1024.0f*1024.0f)); 在不同设备中为同一文件打印不同的值。
控制台日志详细信息
Ipad1
GOT 资产,文件大小:0.024059 图像 CRC 为:2659650838
iPad2
GOT 资产,文件大小:0.024325 @@@@@@@@image CRC 为:331786167
IPAD 版本详情
IPAD1:版本:4.2.1(8C148) 型号:MB292LL
IPAD2:版本:4.3.5(8L1) 型号:MB292LL
谢谢。
iphone - ALAssetsLibrary ALAssetsLibraryDataUnavailableError
我正在努力确保涵盖我所有关于 ALAssetsLibrary 因任何原因而失败的基础。在查看调用时可能发生的错误时:
我注意到 ALAssetsLibraryDataUnavailableError,但没有太多关于可能导致此问题的信息。我想相应地显示一个错误屏幕。
任何见解将不胜感激。谢谢!
ios - 是否可以使用 writeModifiedImageDataToSavedPhotosAlbum 或 setImageData 仅设置 ALAsset 的元数据
ALAsset 中的 writeModifiedImageDataToSavedPhotosAlbum 和 setImageData 方法都获取图像数据(以 NSData 对象的形式)和元数据(以 NSDictionary 对象的形式)。我已经做好了将额外的元数据注入到相机胶卷中的 ALAsset 的所有工作(显然是由我们的应用程序编写的,因此可以由它编辑),但我想做的是不必先读取整个图像数据原始只是将其完全未经修改地传递给这些调用中的任何一个。
有没有办法只修改 ALAsset 的元数据而不支付读取整个图像数据的内存损失?我尝试将 nil 传递给 imageData (尽管这不是一个记录的选项),但它不起作用。
贝伦德
ios - 应用程序您想使用您当前的位置!使用 ALAssetsLibrary
我的应用程序仅使用ALAssetsLibrary从 ios 设备获取图像及其元数据。当应用程序开始加载图像列表时显示 ios 警告..
“应用程序”想使用您当前的位置。 这允许访问照片和视频中的位置信息。
有没有办法以不显示此警告的方式修复程序代码?(不是通过使用设置->常规....)
我认为用户不明白为什么在选择图像时应用程序会询问位置。
iphone - 从 ALAsset url iOS 获取视频 NSData
我无法从我从 ALAsset 获得的 url 中检索 NSData
下面是我尝试过的代码:- 我总是将 NSData 设为 nil。
我也尝试过这样的事情
我从 ALAsset 获得的网址:-
资产库://asset/asset.MOV?id=1000000116&ext=MOV
我已经尝试了以下链接,该链接有效,但我需要不必要地写入临时位置,这非常耗时。
任何正确方向的提示将不胜感激。
等待您的回复
iphone - 从 ALAssetRepresentation 为 CGImageRef 设置最大大小
我目前正在使用以下代码从 iOS 应用程序中的 ALAsset 获取 UIImage。
只要图像相当小(例如,用设备的相机拍摄),这种方法就可以很好地工作。但是,如果图像太大(6000px^2 或更大),应用程序将在此步骤中耗尽内存:
我想在应用程序崩溃或(理想情况下)为返回的图像设置最大尺寸之前检测到这种情况。
我知道这fullScreenImage
将返回一个较小的图像,但是该应用程序需要从图像中获得更高的分辨率才能进行缩放。
此外,使用资产的字节大小是不可靠的,因为高度压缩的格式(如 JPG)可能在打包后的大小很小,但如果它们的像素大小很高(低细节图像、高度压缩的图像),仍然会消耗过多的内存。
任何有关如何获取图像尺寸并事先检测这种情况的输入,以便我可以取消加载并显示错误或如何获得如此大资产的较小版本,将不胜感激。
objective-c - 使用 ALAssetLibrary 快速了解图像资产是横向还是纵向?
我使用 ALAssetLibrary 获取资产。有没有办法知道这个图像风景或肖像没有加载图像但只有资产?
[资产缩略图] 返回 (75,75) 大小的图像,所以它没有帮助。
加载fullScreen或fullResolution图像并比较它的宽度和高度是很重的。
加载元数据比pixelHeight和Width还要重。
那么有人可以帮忙吗?
upload - 将 ALAsset 上传到 Dropbox
我正在使用 iPhone 的 Dropbox API 将照片从相机胶卷上传到 Dropbox 帐户。
但是,要做到这一点,我似乎必须将 ALAsset 的全分辨率图像保存到一个文件中,然后将该文件上传到 Dropbox。
我想必须有一个更简单的方法。但是 Dropbox API 想要原始文件的路径,而不是原始文件的 NSURL。
[asset.defaultRepresentation.url absoluteString] 产生 Dropbox API 不乐意使用的“asset-library://asset/asset.JPG?id=3CFC9CD9-22AF-445B-AC39-E574DBAE156C&ext=JPG”。
和
[asset.defaultRepresentation.url 路径] 产生“/asset.JPG”
我可以使用 ALAsset 中的 NSURL 吗?有比先将图像保存到文件更好的方法吗?
谢谢,布赖恩。
ios - 如何在 iOS 上快速将 ALAsset 图像保存到磁盘?
我正在使用 ALAsset 来检索这样的图像:
这将返回 CGImageRef ,我想尽快将其保存到磁盘...
解决方案1:
解决方案2:
问题是这两种方法在设备上执行起来都很慢。每张图片我需要大约 2 秒来执行此操作。这绝对是太长了。
问题:如何加快此图像保存过程?或者也许有更好的解决方案?
更新:
这两种解决方案的最佳性能改进是将图像保存为 JPEG 格式而不是 PNG。所以对于解决方案 1 已替换UIImagePNGRepresentation
为UIImageJPEGRepresentation
. 对于解决方案 2 已替换kUTTypePNG
为kUTTypeJPEG
.
还值得注意的是,第二种解决方案比第一种解决方案的内存效率更高。