2017-03-08 32 views
0

我正在處理手動圖像裁切功能。爲了繪製CAShapeLayer,我們使用了四個座標topLeft,topRight,bottomRight和bottomLeft。用戶可以平移點並選擇裁剪區域。 我被困在將這些點轉換爲核心圖像座標,並進一步與CIPerspectiveTransform裁剪。如何將CAShapeLayer座標轉換爲手動裁剪的CIRectangleFeature

+0

我想你嘗試裁剪圖像shaplayer? –

+0

嗨,謝謝你的回覆。 我正在使用形狀圖層進行用戶可視化。我打算做的是獲得用戶形成的這四個形狀的點,並相應地裁剪圖像w.r.t.這些點。 我在將這些UIKit底點轉換爲CoreImage點時遇到了問題。 –

+0

爲您提供形狀圖層初始化 –

回答

0

集圖像的ImageView和掩蔽ImageView的具有形狀層。

self.imageView = img 
imageView.layer.mask = shapeLayer // set here your shape layer 

現在您的imageView具有裁剪圖像。從當前上下文

獲取的圖像作爲跟隨

UIGraphicsBeginImageContextWithOptions(imageView.bounds.size, false, 0); 
imageView.layer.render(in: UIGraphicsGetCurrentContext()!) 
let image = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

// check cropping image 
let resultImageView = UIImageView(frame: self.view.frame) 
resultImageView.image = image 
self.view.addSubview(resultImageView) 
+0

謝謝,它工作得很好。 這些截圖和由此產生的圖像: 文件:///Users/Swapnil/Desktop/IMG_2082.PNG 文件:///Users/Swapnil/Desktop/IMG_2083.JPG 我需要更多一點的幫助你。 –

+0

@SwapnilDhapte我無法顯示您的結果。我怎麼幫你? –

+0

有沒有什麼辦法可以保存只有渲染部分的圖像。不與白色背景。 因爲我想它適用CIPerspectiveTransform。 –

相關問題