問題タブ [nsbezierpath]

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 投票する
1 に答える
415 参照

objective-c - nsbezierpath 上のマウスを検出する

私は初心者の開発者で、内部にカスタム ビューを備えたこの単一ウィンドウの Mac アプリケーションがあります。そのカスタム ceix 内で、複数の nsbezierpath を定義しました。各 nsbezierpath はマップの領域を表しているため、まったく長方形ではありません。

私が欲しいのは、マウスが nsbezierpath に入ったときに検出して、マウスがホバリングしている領域の名前を表示できるようにする方法です。

どこから始めればよいかわかりません。アイデアはありますか?

私の問題を調べてくれてありがとう

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

objective-c - NSBezierPath の containsPoint: パスが閉じていない場合、機密性が高すぎます

containsPoint メソッドに問題があります。ボックスとボックス間のコネクタをいくつか描きます。コネクタは基本的に、単一の curveToPoint:controlPoint1:controlPoint2 呼び出しに基づく単一の曲線です。マウスでこの曲線/パスを選択しようとすると、これを行うのは難しいです。containsPoint: メソッドは非常にデリケートなようです。線を大きく描いてみましたが (setLineWidth:)、うまくいきません。

別の方法で行う必要があるアイデアはありますか?

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

objective-c - NSBezierPath の再描画

これは、ベジエ パスでポップオーバー ウィンドウのようなものをペイントする方法です。BOOLEAN bAbajo は、描画ウィンドウを上向きにします。bAbajo でない場合は、上向きです。

drawRect が初めて呼び出されると、すべて正常に動作し、描画は bAbajo ブール値に応じて正常に行われます。その後、bAbajo の反対の値で drawRect を再度呼び出すと、正しいコードが実行されます (bAbajo には期待値があり、ブレークポイントを使用してデバッグすることで、drawRect 内で正しいコードが実行されていることがわかります)。新しい NSBezierPath *path で更新されません。何か助けはありますか?

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

objective-c - NSBezierPaths の配列は、保存時に「plist に CFType を含めることはできません」というエラーを返します

基本的なペイント アプリケーションでユーザーが行うすべてのストロークを本質的に表す NSBezierPath オブジェクトの配列があります。ただし、dataOfType:error: で NSData オブジェクト (配列を含む plist) を作成しようとすると、アプリで次のエラーが表示されます。

(プロパティ リストに「CFType」タイプのオブジェクトを含めることはできません)

ただし、ブレークポイントは、配列に CFTypes が含まれていないことを示しています。

…等々。CFTypes と NSBezierPaths の間に何らかの関連があると思われますが、よくわかりません。アレイを保存するにはどうすればよいですか?

0 投票する
0 に答える
102 参照

objective-c - 2 番目のパスのスタイルを持つ appendBezierPath

私は2つのbezierPathを持っています。最初のパスでは、グリッドを描画します。マウス イベントを処理し、最初のパスに新しいパスを描画します。私は appendBezierPath を使用しています。これで問題ありませんが、2 番目のパスのスタイルがコピーされません。Cocoa は最初のパス スタイルを使用します。新しいスタイルで新しいベジエ パスを追加するにはどうすればよいですか。例として、黒いグリッドを描画し、2 番目のパスに赤い円を描画します。

更新:

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

objective-c - 一部の標準フォントの NSString から NSBezierPath への奇妙なグリフ

NSAttributedString から個々の文字のグリフを取得してから、NSBezierPath を取得しappendBezierPathWithGlyphs:count:inFont:、最終的に平坦化されたパス ポイントを NSArray に出力して (以下のコードを参照)、Quartz Composer で OpenGL を使用して表示します。

標準フォント (American Typewriter、Baskerville など) を含む一部の NSFont では、文字が完全に間違っています(下の画像を参照)。

私はフランス語のキーボードと言語で作業していると言うことが重要かもしれません。

アリアルあり バスカヴィルと 誰かがこの動作の説明を知っていますか? これらのフォントで正しいパスを取得する解決策はありますか?

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

macos - NSBezierPath appendBezierPathWithArcFromPoint が描画されない

「appendBezierPathWithArcFromPoint」を使用して描画と円弧を作成しようとしていますが、実行すると円弧が描画されません。「lineToPont」が機能し、他の「NSBezierPath」コマンドが機能します。私が間違っていることを教えてください。私は明確な答えなしでかなりの検索をしました。MAC OS 10.9.2 と XCode 5.1 を使用しています。以下はコードのスニペットです。ありがとうございました。