問題タブ [uibezierpath]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
33095 参照

ios - UIBezierPath の描画方法

これが私がやりたいことです:

私は UIBezierPath を持っており、それを何らかのメソッドに渡して描画したいと考えています。または、それが作成されたメソッドから単純に描画します。

どのビューで描画する必要があるかを示す方法がわかりません。描画するためのすべてのメソッドは、で開始する必要がありますか

僕にできる

この関数またはメソッドを別のメソッドから呼び出すにはどうすればよいですか?

0 投票する
2 に答える
961 参照

ios - 2つのベジェパスを比較しますか?

2つのUIbezierPathからのデータを比較するために正常に使用されたCGPathEqualToPath関数が表示されます(技術的には、パスをそれ自体と比較しました)。

この関数を変更して、2 つのパスがどのように似ているかを調べる方法はありますか? そしておそらく、これらのパスは同じと見なされるほど近いのでしょうか?

(私はiOSを使用しています)

また、無関係。私はベジエパスの可変配列を持っています。配列の特定の要素にアクセスするための表記法は何ですか? 私はこれが初めてです。ありがとう

0 投票する
1 に答える
493 参照

objective-c - ループを排除して曲線を単純化する

パスの「ループ」を削除することで、カーブしたパスを単純化するのに役立つコードを見つけようとしています。実際、これらが適切にループと呼ばれているのかどうかはわかりません。これに適切な単語がないと、検索が妨げられる可能性があります。

StackOverflowではイラストを含めることができないので(私は新しすぎます!)、逆さまにループするセクションがあるジェットコースターを想像してみてください。コースターからそれらのループを削除し、浮き沈みのパスを残したいと思います。

私はiOSでUIBezierPathパスを使用して作業していますが、ほとんどすべての言語の例へのポインター、またはこの問題を説明する正しい方法へのポインターでさえ満足しています。別の方法は、交差するパスを検出する手法です。これにより、「ループ」が存在する場合にパス全体を破棄できます。

ありがとう!

0 投票する
2 に答える
3756 参照

ios - iOSで線を引くときの当たり判定

線が別の線やそれ自体と交差しないように、ユーザーが曲線を描くことができるようにしたいと思います。曲線を描くことは問題ありません。また、線のノードを前後にトレースしてからパスを閉じることで、閉じた線のようなパスを作成できることさえわかりました。

残念ながら、iOS は、ポイントが閉じたパス (containsPoint: および CGPathContainsPoint) に含まれているかどうかのテストしか提供していません。残念ながら、ユーザーはタッチ ポイントが既存のパスに実際に含まれていなくても、既存のパスの両側に着地するのに十分な速さで指を簡単に動かすことができるため、タッチ ポイントをテストすることはほとんど無意味です。

パスメソッドの「交差点」が見つかりません。

このタスクを達成する方法について他に何か考えはありますか?

0 投票する
1 に答える
4182 参照

ios - CGpath、UIBezierPathに関する情報を取得しますか?

私には一連のパスがあり、ほとんどが直線、またはほぼ直線です。それらを水平、垂直、斜め、そしてそれらが描かれる方向(上->下、下->上、左->右、右->左など)に分類したいと思います。いくつかの線はL字型ですが、その情報も欲しいです。

これは、パスのエンドポイントを知っていればおそらく実行できますが、その情報を抽出する方法がわかりません。また、端点が対角線を示すので、L字型の線にはそれ以上のものが必要です。すべてのリファレンスページを調べましたが、そのような情報は見つかりませんでした。だから、あなたがそれを知っているなら、または私が探している情報を取得する別の方法...ありがとう

0 投票する
1 に答える
347 参照

ios - ベジェパスを再スケーリングする方法

3 つまたは 4 つの uibezierpath 行から作成された単純なイメージがあります。

それらが描かれているビューのサイズを2倍にすると、高解像度の画面に表示された低解像度の写真が引き伸ばされたように、ぼやけて見えます。任意のサイズのウィンドウでパスをモミに再スケーリングする方法はありますか? ありがとう、これは基本的な質問かもしれませんが、それに関する情報は見つかりませんでした

0 投票する
2 に答える
929 参照

ios - uibezierpath の周りにバッファ ゾーンを取得する方法

私はいくつかの uibezierpaths を持っています。パスとして、実際には厚みがありません。しかし、この写真の線の周りの灰色がかった領域のように、パスの周りの領域を定義する方法を見つけたいと思っていますここに画像の説明を入力

基本的に、描画された線が線の周りのバッファー ゾーン内に収まるかどうかをテストしたいと考えています。これは簡単だと思っていましたが、思ったよりもはるかに複雑であることがわかりました。CGPathApply 関数を使用してパスに沿ったポイントを調べ、各ポイントの範囲 + または - を取得できますが、角度や曲線の場合よりも複雑です。何か案は?

0 投票する
2 に答える
2025 参照

iphone - elementCount と elementAtIndex を使用して UIBezierPath を NSBezierPath のようにする

一部の Cocoa コードを Cocoa Touch に移動したときに、UIBezierPath に「パスの要素へのアクセス」メソッドが欠落していることがわかり、がっかりしました。

Cocoa Touch でこれらの要素を取得する唯一の方法は、CGPathApply. これを UIBezierPath のサブクラスまたはカテゴリとして再作成しようとする前に、これが既に行われているかどうか疑問に思っていました。このようなものがすでに利用可能であるかどうか、誰かが考えを持っていますか?

0 投票する
1 に答える
3226 参照

ios - iOS: UIBezierPath から画像クリッピング パスを作成する

ユーザーが画像の一部を切り取ることができるアプリを作成しています。これを行うために、一連の UIBezierPath を作成してクリッピング パスを形成します。私の現在の設定は次のとおりです。

  • UIImageView は、カットしている画像を表示します。
  • その上にある UIImageView は、ユーザーが追加している UIBezierPaths を表示/更新するためのカスタム drawRect: メソッドを実行する UIImageView のカスタム サブクラスです。
  • ユーザーが「完了」ボタンをクリックすると、新しい UIBezierPath オブジェクトが作成されます。このオブジェクトには、ユーザーが作成した個々のパスが格納されている配列をループ処理し、それ自体で appendPath: を呼び出すことによって組み込まれています。この新しい UIBezierPath は、そのパスを閉じます。

それは私が得た限りです。UIBezierPath に addClip メソッドがあることは知っていますが、ドキュメントからその使用方法を理解できません。

一般に、私が見たクリッピングの例はすべて、UIBezierPath ラッパーではなく Core Graphics を直接使用しています。UIBezierPath には CGPath プロパティがあることに気付きました。では、完全な UIBezierPath オブジェクトではなく、クリッピング時にこれを使用する必要がありますか?

0 投票する
2 に答える
2053 参照

iphone - iOS UIBezierAnimation 曲線、ある種の円弧を作成する方法は?

これは、これまでにこれを試したことがある人にとってはかなり単純で簡単な質問だと確信していますが、私は「高度な」アニメーションと呼ばれるものの初心者です。

CAKeyframeAnimation(「位置」キーパス付き)を使用して、オブジェクトの次の動きを作成しようとしています

http://www.sumopaint.com/files/images800/aeegfexznpohlehd.jpg

UIBezierPath でパスを設定しようとしましたが、その背後にあるロジックが見つからないため、混乱してイライラしました:)

この点について、ご意見をお聞かせいただければ幸いです。...

これは私の基本コードです (より良いアイデアが得られれば、ゼロから作成することもできます :P)

また、完了時にオブジェクトをフェードアウトしたかったのです。アニメーションの完了時に実行するようなセレクターはありますか? ([UIView animateWithDuration] など) ?