Skip to content

Instantly share code, notes, and snippets.

@KatagiriSo
Created November 16, 2015 07:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save KatagiriSo/7bf0b806ef97c46843e4 to your computer and use it in GitHub Desktop.
Save KatagiriSo/7bf0b806ef97c46843e4 to your computer and use it in GitHub Desktop.
UIImagePickerControllerを用いたカメラ、あまり機能はない。
import UIKit
class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
@IBOutlet weak var textView: UITextView!
@IBOutlet weak var imageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func viewWillAppear(animated: Bool) {
}
override func viewDidAppear(animated: Bool) {
}
@IBAction func cameraPushed(sender: AnyObject) {
presentCameraUI()
}
@IBAction func libraruPushed(sender: AnyObject) {
presentSelectUI()
}
func presentSelectUI()
{
if (!UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.PhotoLibrary))
{
return;
}
let selecter = UIImagePickerController()
selecter.delegate = self
selecter.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
presentViewController(selecter, animated: true, completion: nil)
}
func presentCameraUI()
{
if (!UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.Camera))
{
return;
}
let cameraUI = UIImagePickerController()
cameraUI.sourceType = UIImagePickerControllerSourceType.Camera
cameraUI.mediaTypes = UIImagePickerController.availableMediaTypesForSourceType(UIImagePickerControllerSourceType.Camera)!
cameraUI.allowsEditing = true
cameraUI.delegate = self
presentViewController(cameraUI, animated: true, completion: nil)
}
// delegate
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject])
{
let image: AnyObject? = info[UIImagePickerControllerEditedImage]
let originImage: AnyObject? = info[UIImagePickerControllerOriginalImage]
let rect: AnyObject? = info[UIImagePickerControllerCropRect] //NSValue(CGRect)
let metadata: AnyObject? = info[UIImagePickerControllerMediaMetadata]
/*
Printing description of [3].value:
{
DPIHeight = 72;
DPIWidth = 72;
Orientation = 6;
"{Exif}" = {
ApertureValue = "2.526068811667587";
BrightnessValue = "4.886227698569837";
ColorSpace = 1;
DateTimeDigitized = "2015:11:16 15:39:53";
DateTimeOriginal = "2015:11:16 15:39:53";
ExposureBiasValue = 0;
ExposureMode = 0;
ExposureProgram = 2;
ExposureTime = "0.03333333333333333";
FNumber = "2.4";
Flash = 24;
FocalLenIn35mmFilm = 31;
FocalLength = "3.3";
ISOSpeedRatings = (
32
);
LensMake = Apple;
LensModel = "iPod touch back camera 3.3mm f/2.4";
LensSpecification = (
"3.3",
"3.3",
"2.4",
"2.4"
);
MeteringMode = 5;
PixelXDimension = 3264;
PixelYDimension = 2448;
SceneType = 1;
SensingMethod = 2;
ShutterSpeedValue = "4.907251314460476";
SubjectArea = (
1631,
1223,
1795,
1077
);
SubsecTimeDigitized = 717;
SubsecTimeOriginal = 717;
WhiteBalance = 0;
};
"{MakerApple}" = {
1 = 2;
14 = 0;
2 = <b501d401 d001d201 b6018001 59013601 1201d900 ad007e00 64001400 21003f00 b101ce01 ca01d501 b1018201 4e012f01 1201d300 a9008000 54001200 27003b00 b701c401 cf01d401 a3017301 53013301 1101cb00 af007600 3f000c00 2d003300 a601c001 c901d601 9d016501 50012e01 0f01c700 af007700 32000800 2d001400 aa01cb01 b901d801 92016701 44012601 0801bb00 a0007500 29000900 36002800 c901bb01 bd01d601 7d015001 3f011f01 0101ab00 8c006d00 32001000 38003400 0702f001 e101d001 7f016601 44012301 fa00ac00 86006a00 19001700 38003000 ec01e101 d301c901 a5018001 51012b01 f200a900 7f006300 18001e00 37002c00 ed01db01 c401ac01 82014201 37011201 e500b300 7a006200 14002500 37002d00 fc01f301 da01c501 9d017a01 4e012401 eb00d100 7b005400 0e002c00 36004000 c601e901 c601bb01 85016801 3f011c01 e500ce00 75004600 0a003200 35008600 b301e101 b301b001 7e015601 25011401 cd00c400 6d003500 0a003500 3400a400 9b01ce01 af01a301 65014b01 18010701 c900b300 64003b00 0f003400 3a00a700 9401a901 99018e01 40012f01 0501f800 c1009f00 67000e00 15003400 4d007200 89019201 7f017501 31011401 f400e800 c4009200 4a000c00 1c003400 5a005700 73017b01 65015601 18010501 f000d800 bd008500 46000b00 23003500 51004e00>;
3 = {
epoch = 0;
flags = 1;
timescale = 1000000000;
value = 1627007804041;
};
4 = 1;
5 = 243;
6 = 240;
7 = 1;
8 = (
"-0.03063199",
"-0.7817835",
"-0.5936528"
);
9 = 275;
};
"{TIFF}" = {
DateTime = "2015:11:16 15:39:53";
Make = Apple;
Model = "iPod touch";
Software = "8.4.1";
XResolution = 72;
YResolution = 72;
};
}
*/
let mediaType: AnyObject? = info[UIImagePickerControllerMediaType] //public.image
// あるなら
let refURL : AnyObject? = info[UIImagePickerControllerReferenceURL]
textView.text = "=>\(metadata?.description)\n mediatype:\(mediaType)"
imageView.image = originImage as? UIImage
picker.dismissViewControllerAnimated(true, completion: nil)
// assets-library://asset/asset.PNG?id=483E47FA-9504-4D47-9E68-351F1A83F569&ext=PNG
}
func imagePickerControllerDidCancel(picker: UIImagePickerController)
{
picker.dismissViewControllerAnimated(true, completion: nil)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment