xcodeでswiftを使い、お絵描きソフトを作成しています。
iPhoneアプリで作成した画像をパソコンへ送信し、パソコン側でも編集したいため、
以下を実現したいと思っています。
・作成した画像はカメラロールに保存したい
(後からユーザがメール送信時にファイル添付出来るようにわかりやすい場所がいいから)
・ファイルはビットマップ形式で保存したい
・ファイル名を「APP_YYYYMMDD」のように指定したい
・解像度がiPhoneでは72dpiだが、500dpiのように変更して保存したい
カメラロールには以下のコードで保存出来ましたが、jpg形式のみでファイル名も指定出来ませんでした。
swift
1class ImageController: UIViewController { 2 var image:UIImage = UIImage() 3 4 override func viewDidLoad() { 5 super.viewDidLoad() 6 ((省略)) 7 } 8 9 func onClickSaveButton(sender: UIButton) { 10 //アルバムに保存する 11 UIImageWriteToSavedPhotosAlbum(image, self, #selector(ImageController.image(_:didFinishSavingWithError:contextInfo:)), nil) 12 }
以下のソースではファイル名は指定出来ましたが、アプリを閉じた後にどこで画像が確認出来るかわかりませんでした。
後からメールでパソコンに画像を送付したいため、ユーザが保存した画像を確認出来ないのが問題です。
カメラロールのパスを指定したかったのですが、webで検索しても見つけられませんでした。
また、pngやjpg用の関数は見つけましたが、bmp用がわかりませんでした。
(UIImagePNGRepresentation(image)の部分)
swift
1class ImageController: UIViewController { 2 var image:UIImage = UIImage() 3 4 override func viewDidLoad() { 5 super.viewDidLoad() 6 ((省略)) 7 } 8 9 func onClickSaveButton(sender: UIButton) { 10 // 保存 11 if let imageData = UIImagePNGRepresentation(image) { 12 13 // ドキュメントディレクトリにファイルを指定 14 let filename: String = "test.png" 15 16 // ドキュメントディレクトリまでのパスを取得 17 let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String 18 19 // NSURLオブジェクトを生成 20 let fileurl : NSURL = NSURL(fileURLWithPath: documentsPath) 21 // パスとファイル名を結合 22 let filePath : String = fileurl.URLByAppendingPathComponent(filename).path! 23 24 // 入力欄の内容をファイルへ書き込む 25 imageData.writeToFile(filePath, atomically: true) 26 } 27 }
やはりカメラロールに保存する場合、ファイル名は指定なしでjpg形式となるのでしょうか?
この場合、解像度だけでも指定出来ればと思うのですが、どのように指定するのでしょうか?
以上、よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/08/23 00:43