0

それが理にかなっていることを願っています。私はそれを説明しようとします。

画面に UIImageView があり、指で「描画」した後に領域を取得し、そのセクションを UImage から削除するか、選択範囲から別の UIImage を作成する方法を考えています。

私はコードを探しているわけではありません (あなたが持っていない限り =] )、それを行う方法のアイデアにすぎません。ヒントがありましたら、よろしくお願いします。

4

5 に答える 5

0

UIGestureRecognizerのようなターゲットとアクションを作成する必要があります-imageIsPressed。この-imagePressedメソッドでは、画像を非表示にするために何かを呼び出すことができます。UIImage を UIImageView に配置し、呼び出しimageview.hidden = YES;て画像を非表示にし、指で保持されなくなったら「NO」に戻すことをお勧めします。

于 2012-10-25T21:31:10.777 に答える
0

あなたの質問を理解できれば、UIImageView の上に透明な UIView をサブビューとして追加すると思います。そして、それを描きます。その後、完了したらサブビューを削除/非表示にできます。

于 2012-10-25T21:26:22.423 に答える
0

基本的に、画像のフリーハンド消去を実装したいですか?これを実現するには、コア グラフィックスとさまざまな CGContext メソッド (ブレンド モードをクリアに設定) を使用する必要があります。2 つのアプローチがありますが、どちらも の最初の部分としてイメージを描画することから始まり、drawRect次に

1)ストロークを配列に保存し、それらすべてを画像の上にストロークします。

2) 画像上で 1 ストロークをストロークし、結果の画像を に保存しUIImageます。UIImagedrawRect で描画する次の画像としてこれを使用します。これは、元に戻す/やり直し機能にとっては困難です。

于 2012-10-25T23:41:53.843 に答える
0

私は最近これを自分で実装し、ソースをここで入手できるようにしました。基本的に、グラフィック コンテキストを設定するときに、この変更を加えて、ここで説明したのと同じ方法を使用しました。

CGContextSetBlendMode(UIGraphicsGetCurrentContext(), kCGBlendModeClear);
于 2012-10-26T05:20:09.473 に答える
0

ユーザーが「選択した」領域をキャプチャするものを実装する必要があります (おそらくCGPath.最後に、生成された CALayer をマスクとして UIImageView に適用します。

imageView.layer.mask = maskLayer;

これで始められることを願っています。

カスタム CALayer を描画する方法の詳細については、Quartz プログラミング ガイドを参照してください。

于 2012-10-25T22:33:28.830 に答える