Tôi đang sử dụng CoreImage Framework để phát hiện danh thiếp. Khi tôi phát hiện một hình chữ nhật (CIDetectorTypeRectangle) tôi vẽ một lớp phủ bằng cách sử dụng phương pháp này:iOS 8 Core Image lưu một phần của một hình ảnh qua Swift
func drawOverlay(image: CIImage, topLeft: CGPoint, topRight: CGPoint, bottomLeft: CGPoint, bottomRight: CGPoint) -> CIImage {
var overlay = CIImage(color: CIColor(red: 0, green: 0, blue: 1.0, alpha: 0.3))
overlay = overlay.imageByCroppingToRect(image.extent())
overlay = overlay.imageByApplyingFilter("CIPerspectiveTransformWithExtent",
withInputParameters: [
"inputExtent": CIVector(CGRect: image.extent()),
"inputTopLeft": CIVector(CGPoint: topLeft),
"inputTopRight": CIVector(CGPoint: topRight),
"inputBottomLeft": CIVector(CGPoint: bottomLeft),
"inputBottomRight": CIVector(CGPoint: bottomRight)
])
return overlay.imageByCompositingOverImage(image)
}
Bây giờ tôi cần phải tự động chụp ảnh khu vực đã chọn và lưu nó. Có ai biết cách làm điều đó không? Cảm ơn!
Sử dụng CGImageCreateWithImageInRect để cắt nó vào phần chính xác mà bạn muốn – Sandeep
Cám ơn câu hỏi! Bây giờ tôi biết cách cắt CIImage trong Swift. Google từ chối giúp đỡ trang web của Apple. Tôi đã cố gắng sử dụng các bộ lọc khi bạn có thể dễ dàng gọi phương thức imageByCroppingToRect :) – alexsalo