顔を切り取る
1092 ワード
最近新しいappを作ったばかりで、中には顔を裁断する需要があるので、この知っている効果を真似て自分で裁断画像のコントローラを書いて、裁断領域とマスクスタイルの設定をサポートして、ズーム、移動、ダブルクリックして拡大して縮小します.共有して開発効率を高めたい.
test.gif
test2.gif
拡大・ドラッグが必要であることを考慮してUIScrollView+UIImageView を用いた裁断領域の大きさと原図の大きさから、ピクチャのスケーリング後のimageViewのframeとscrollViewのcontentsizeを算出し、offsetを調整してピクチャが中心位置 に位置するようにする.裁断領域frameに基づいて、テンプレートサイズ、位置、スタイル を設定する.スケーリングのプロキシメソッドでは、新しいimageViewのframeに従ってcontentSizeとoffset を設定する.クリック決定方法では、トリミング領域frameと現在のimageViewのframeに基づいて、ピクチャを切り取り、プロキシメソッド を呼び出す.
何か質問があったら下記でコメントして交流して、役に立つと感じたらstarにお願いしますhttps://github.com/JTWang4778/PickAndClipImage
效果如下
test.gif
test2.gif
使用方法
// , , ,
CGRect clipFrame = CGRectMake(0, (ScreenH - ScreenW) * 0.5, ScreenW, ScreenW);
HTClipImageController *controller = [[HTClipImageController alloc] initWithImage:image ClipFrame:clipFrame IsRoundedCorner:YES];
// ,
controller.delegate = self;
[picker pushViewController:controller animated:true];
実装の原理
demoアドレス
何か質問があったら下記でコメントして交流して、役に立つと感じたらstarにお願いしますhttps://github.com/JTWang4778/PickAndClipImage