關於swift中自定義相機拍照後,擷取照片程式碼
阿新 • • 發佈:2019-02-20
//1.先實現這個方法後得到返回的照片
func scaleToSize(image:UIImage!,size:CGSize) -> UIImage{
// 得到圖片上下文,指定繪製範圍
UIGraphicsBeginImageContext(size);
// 將圖片按照指定大小繪製
image.draw(in: CGRect(x:0,y:0,width:size.width,height:size.height))
// 從當前圖片上下文中匯出圖片
let img:UIImage = UIGraphicsGetImageFromCurrentImageContext()!
// 當前圖片上下文出棧
UIGraphicsEndImageContext();
// 返回新的改變大小後的圖片
return img
//將UIImage轉換成CGImageRef
let sourceImageRef:CGImage = imageFromImage.cgImage!
//按照給定的矩形區域進行剪裁
// CGImageRef newImageRef = CGImageCreateWithImageInRect(sourceImageRef, rect);
let newImageRef:CGImage = sourceImageRef.cropping(to: inRext)!
//將CGImageRef轉換成UIImage
// UIImage *newImage = [UIImage imageWithCGImage:newImageRef];
let img:UIImage = UIImage.init(cgImage: newImageRef)
//返回剪裁後的圖片
return img
}
func scaleToSize(image:UIImage!,size:CGSize) -> UIImage{
// 得到圖片上下文,指定繪製範圍
UIGraphicsBeginImageContext(size);
// 將圖片按照指定大小繪製
image.draw(in: CGRect(x:0,y:0,width:size.width,height:size.height))
// 從當前圖片上下文中匯出圖片
let img:UIImage = UIGraphicsGetImageFromCurrentImageContext()!
// 當前圖片上下文出棧
UIGraphicsEndImageContext();
// 返回新的改變大小後的圖片
return img
}
//2.實現這個方法,,就拿到了擷取後的照片.
//將UIImage轉換成CGImageRef
let sourceImageRef:CGImage = imageFromImage.cgImage!
//按照給定的矩形區域進行剪裁
// CGImageRef newImageRef = CGImageCreateWithImageInRect(sourceImageRef, rect);
let newImageRef:CGImage = sourceImageRef.cropping(to: inRext)!
//將CGImageRef轉換成UIImage
// UIImage *newImage = [UIImage imageWithCGImage:newImageRef];
let img:UIImage = UIImage.init(cgImage: newImageRef)
//返回剪裁後的圖片
return img
}