#方法
var image:UIImage? = ... //画像を読み込む
//
let imageData:Int = NSData(data: image.jpegData(compressionQuality: 1)!).count
//※画像のデータサイズをKBで表示。
let dataToKB = Double(imageData) / 1000.0
//バリデーションを実装。(10MB以下のみ保存可能)
if dataToKB < 10000.0 {
print("画像を保存できます")
//画像をimageViewに描写させたりする
self.imageView.image = image
} else {
print("画像データが過大です。10MB以下可能です")
}
#詳しく
##jpegData(compressionQuality: CGFloat)
func jpegData(compressionQuality: CGFloat) -> Data?
指定された画像を含むデータオブジェクトをJPEG形式で返します。
compressionQuality: CGFloat
とは?
0.0〜1.0の値として表される、結果のJPEG画像の品質。値0.0は最大圧縮(または最低品質)を表し、値1.0は最小圧縮(または最高品質)を表します。
今回は、最高品質(オリジナルの画質)でデータサイズを確認したいため、compressionQuality: 1
にします。
##count
する
NSData(data: image.jpegData(compressionQuality: 1)!).count
NSData(data: Data)
で、
別のデータオブジェクトの内容でデータオブジェクトを初期化します。
画像をNSData
型に変換することで、countメソッド
を使うことができます。
countすることで、byteの数をカウントすることができます。
#参考文献