質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

2回答

2133閲覧

UIImagePickerControllerから読み込んだ画像をバイナリデータ化する際の処理について(Swift)

naokun

総合スコア13

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2018/03/09 02:18

Swift

1//コードの一部です 2 @IBAction func createButton(_ sender: Any) { 3 do { 4 // ファイル読み込み 5 let firstBinaryData = try Data(contentsOf: firstImageURL, options: []) 6 let secondBinaryData = try Data(contentsOf: secondImageURL, options: []) 7 // 先頭から300000バイトを抽出。 8 let fkbData = firstBinaryData.subdata(in: 0..<300000) 9 let skbData = secondBinaryData.subdata(in: 0..<300000) 10 // 各バイトを16進数の文字列に変換。 11 let firstStringArray = fkbData.map{String(format: "%02X", $0)} 12 let secondStringArray = skbData.map{String(format: "%02X", $0)} 13 // ハイフォンで16進数を結合する。 14 let firstBinaryString = firstStringArray.joined(separator: "-") 15 let secondBinaryString = secondStringArray.joined(separator: "-") 16 print(firstBinaryString) 17 print(secondBinaryString) 18 } catch { 19 print("Failed to read the file.") 20 } 21 }

この様な処理で画像データをバイナリデータにしたいと思っているのですが
ImagePickerControllerから取得したUIImageをどうやってURL形式に変換するのかがわかりません。
海外のサイト等を見てもlocalpathに保存される?ということくらいしかよくわかりませんでした。
誰か説明をお願いします.
画像は以下のコードを使い取得しています。

Swift

1 @IBAction func selectFileOne(_ sender: Any) { 2 if UIImagePickerController.isSourceTypeAvailable(.photoLibrary) { 3 var selectFile = 1 4 // 写真を選ぶビュー 5 let firstPickerView = UIImagePickerController() 6 // 写真の選択元をカメラロールにする 7 firstPickerView.sourceType = .photoLibrary 8 // デリゲート 9 firstPickerView.delegate = self 10 // ビューに表示 11 self.present(firstPickerView, animated: true) 12 13 } 14 print("エラー") 15 } 16func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { 17 18 if self.selectFile == 1 { 19 // 選択した写真を取得する(UIImage形式で保存している) 20 let firstImage = info[UIImagePickerControllerOriginalImage] as! UIImage 21 22 self.dismiss(animated: true) 23 }else if self.selectFile == 2 { 24 // 選択した写真を取得する(UIImage形式で保存している) 25 let secondImage = info[UIImagePickerControllerOriginalImage] as! UIImage 26 // 写真を選ぶビューを引っ込める 27 28 self.dismiss(animated: true) 29 } 30 31 }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

Swift

1let data = UIImageJPEGRepresentation(firstImage, 1.0) 2 3let data = UIImagePNGRepresentation(firstImage)

などとは違いますでしょうか?

投稿2018/03/09 02:36

newmt

総合スコア1277

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

UIImageからDataへの変換には、UIKitの

UIImageJPEGRepresentation(::)
UIImagePNGRepresentation(_:)

を使います。

投稿2018/03/09 02:40

fuzzball

総合スコア16731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問