2016-12-04 10 views
0

次のコードでは、画像とuiimageviewでの表示が行われます。ピカチュアは全体のuiimageviewを満たします。どうすれば画像を小さく見えるようにして、保存された画像がすべての画面ではないようにすることができますか?撮影された写真の周りに境界線があることを私は願っています。矩形の境界。ありがとう。uiimageピッカーコントローラで画像サイズを変更する方法

@IBAction func Camera(_ sender: AnyObject) { 

    if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.camera){ 
     let imagePicker = UIImagePickerController() 
     imagePicker.delegate = self 
     imagePicker.sourceType = UIImagePickerControllerSourceType.camera; 
     imagePicker.allowsEditing = false 
     self.present(imagePicker, animated: true, completion: nil)}} 

      func imagePickerController(_ picker: UIImagePickerController, didFinishPickingImage image: UIImage!, editingInfo: [NSObject: AnyObject]!){ 
       cameraScreen.image = image 
       self.dismiss(animated: true, completion: nil); 
       screenView = UIImageView() 

       screenView.frame = CGRect(x:0, y: 0, width: self.view.frame.width, height: self.view.frame.height) 





       UIGraphicsBeginImageContext(self.cameraScreen.frame.size) 
       self.view.drawHierarchy(in: self.view.frame, afterScreenUpdates: true) 



} 
+0

にKirti Parghiの答えあなたがイメージピッカー完了ハンドラから得た画像を拡大縮小したいですか? –

答えて

1

ここでdidFinishPickingImage補完ハンドラを呼び出す必要があります。

func resizeImage(image: UIImage, newWidth: CGFloat) -> UIImage { 

    let scale = newWidth/image.size.width 
    let newHeight = image.size.height * scale 
    UIGraphicsBeginImageContext(CGSizeMake(newWidth, newHeight)) 
    image.drawInRect(CGRectMake(0, 0, newWidth, newHeight)) 
    let newImage = UIGraphicsGetImageFromCurrentImageContext() 
    UIGraphicsEndImageContext() 

    return newImage 
} 

この方法では画像のサイズが変わります。

+0

CGSizeMake Swift 3では使用できません –

+0

didFinishPickingImage補完ハンドラはどのように記述しますか?これは正確ですか?imagePickerController(picker:UIImagePickerController、didFinishPickingMediaWithInfo info:[String:AnyObject]){ let pickedImage = info [UIImagePickerControllerOriginalImage] as? UIImage { dismissViewControllerAnimated(真、完了:{self.customFunction(pickedImage)}) }他{ dismissViewControllerAnimated(真、完了:なし) }}。 –

0

更新スウィフト3

func resizeImage(image: UIImage, newWidth: CGFloat) -> UIImage? { 

    let scale = newWidth/image.size.width 
    let newHeight = image.size.height * scale 
    UIGraphicsBeginImageContext(CGSize(width: newWidth, height: newHeight)) 
    image.draw(in: CGRect(x: 0, y: 0, width: newWidth, height: newHeight)) 
    let newImage = UIGraphicsGetImageFromCurrentImageContext() 
    UIGraphicsEndImageContext() 

    return newImage 
} 
関連する問題