gpt4 book ai didi

ios - 从 PHAsset 确定图像 MB 大小

转载 作者:IT王子 更新时间:2023-10-29 05:42:32 27 4
gpt4 key购买 nike

我想确定通过 PHAsset 访问的图像的内存大小。这个大小是为了让我们知道它在设备上占用了多少内存。这是哪个方法?

var imageSize = Float(imageData.length)

var image = UIImage(data: imageData)
var jpegSize = UIImageJPEGRepresentation(image, 1)
var pngSize = UIImagePNGRepresentation(image)
var pixelsMultiplied = asset.pixelHeight * asset.pixelWidth

println("regular data: \(imageSize)\nJPEG Size: \(jpegSize.length)\nPNG Size: \(pngSize.length)\nPixel multiplied: \(pixelsMultiplied)")

结果:

regular data: 1576960.0
JPEG Size: 4604156
PNG Size: 14005689
Pixel multiplied: 7990272

这些值中的哪一个实际代表它在设备上占用的数量?

最佳答案

将图片通过电子邮件发送给自己并在系统上检查尺寸后,结果发现 approach ONE 最接近实际尺寸。

要获取 PHAsset(图像类型)的大小,我使用了以下方法:

var asset = self.fetchResults[index] as PHAsset

self.imageManager.requestImageDataForAsset(asset, options: nil) { (data:NSData!, string:String!, orientation:UIImageOrientation, object:[NSObject : AnyObject]!) -> Void in
//transform into image
var image = UIImage(data: data)

//Get bytes size of image
var imageSize = Float(data.length)

//Transform into Megabytes
imageSize = imageSize/(1024*1024)
}

我的 macbook 上的 Command + I 显示图像大小为 1,575,062 字节。
我程序中的 imageSize 显示大小为 1,576,960 字节。
我用其他五张图片进行了测试,报告的两种尺寸非常接近。

关于ios - 从 PHAsset 确定图像 MB 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25395925/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com