【Swift】UIImageをjpeg/pngで保存する

環境:Swift5

UIImageをjpegやpngで保存する際のコード

サンプルはアプリ内のDocumentディレクトリに保存する際のコードになります

保存先に合わせてURLを変更してください

let DocumentPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
let image = UIImage(named:"sample.jpg")


//PNGの場合
do{
  try image.pngData()?.write(to: URL(fileURLWithPath: DocumentPath + "/sample.png" ))
}catch{
  //error
}
//JPEGの場合
do{
  //compressionQualityでクオリティの設定 1?~100
  try image.jpegData(compressionQuality: 100)?.write(to:URL(fileURLWithPath: DocumentPath + "/sample.jpg" ) )
}catch{
  //error
}

jpegを使う場合はクオリティの設定が必要です。

多分1~100だと思いますが0は試していないので、気になる方は試してみてください