問題タブ [quartz-2d]

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 に答える
798 参照

objective-c - Quartz 2Dアニメーションテキスト?

円の周りのテキストをアニメーション化する必要があります。テキストも拡大/縮小されます。これを達成するための最良のアプローチは何ですか?(私はQuartz 2Dを使用しています)

私のアプローチは次のとおりです。
-sinおよびcosメソッドを使用してポイントを計算します。
-ペンをそこに移動し、アルファとサイズでテキストを描画します。
-画面をクリアします-sinおよびcosメソッドを使用して次のポイントを計算します。
-ペンをそこに移動し、アルファとサイズでテキストを描画します。
-画面をクリアする
など...

より良い方法はありますか?

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

objective-c - CGContextShowTextAtPoint: 無効なコンテキスト

5 秒ごとに画面にテキストを描画するメソッドを呼び出したいと思います。これが私のコードです

しかし、このメソッドが呼び出されて 5 秒後に、このエラーが発生します
CGContextShowTextAtPoint: 無効なコンテキスト

もう一つは、細いフォントを表示する方法ですか?

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

objective-c - Quartz2Dの描画テキストとカスタムメソッドのNSTimer

クォーツ2Dを使用してテキストを表示したい。テキストは、1秒ごとに異なる位置にランダムに描画されます。NSTimerをクォーツ2Dテキストでどのように使用できるかわかりません。グラフィックコンテキストがすでに利用可能なdrawRectメソッドでテキストを描画できます。
NSTimerを使用して1秒後に呼び出されるカスタムメソッドmyDrawを使用してテキストを描画するにはどうすればよいですか?

カスタムメソッドを作成した場合、そのメソッドではグラフィックスコンテキストを使用できません。

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

iphone - ドロップシャドウの座標がiPhone OS 3.2と違う?

ドロップ シャドウを使用してカスタム ビューを描画しようとしています。iPhone OS 3.2 とは結果が異なります。CGContextSetShadowWithColor の座標系は 3.2 から変更されましたか?

私が使用しているコードは次のとおりです。

3.1 と 3.2 からの外観は次のとおりです。

ドロップ シャドウを使用したすべてのビューは、iPhone OS のバージョンによって異なって見えます。何か不足していますか?

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

iphone - Quatz 2D /CoreGraphicsでのタッチ描画

「手描きツール」を実装しようとしています。現時点では、algorythmはそのように見えます(メソッドが非常に大きいため、コードを挿入しません。アイデアを説明しようとします):

描く

  1. touchesStarted メソッドで、NSMutableArray * pointsArrayを作成 し、それにポイントを追加します。setNeedsDisplay:メソッドを呼び出します。
  2. touchesMoved:メソッドでは、pointsArrayから最後に追加されたポイントと現在のポイントの間のポイントを計算します。すべてのポイントをpointsArrayに追加します。setNeedsDisplay:メソッドを呼び出します。
  3. touchesFinished イベントでは、配列から最後に追加されたポイントと現在のポイントの間のポイントを計算します。フラグtouchesWereFinishedを設定します。setNeedsDisplayを呼び出します。

与える:

drawRect:メソッドチェックはpointsArray!= nilであり、データが含まれています。ある場合は、この配列の各ポイントで円をトラウトし始めます。フラグtouchesWereFinishedが設定されている場合-現在のコンテキストをUIImageに保存し、pointsArrayを解放し、nilに設定して、フラグをリセットします。

この方法には多くの欠点があります。

  • 遅い
  • ユーザーが長時間指を触れたり動かしたりすると、非常に遅くなります。アレイが巨大になります
  • 円で構成された「線」は醜い

アルゴリズムを変更して、少し速く、線を滑らかにしたいと思います。結果として、次のURLの写真のような行が必要です(申し訳ありませんが、画像を挿入するのに十分な評判がありません):http: //2.bp.blogspot.com/_r5VzEAUYXJ4/SrOYp8tJCPI/AAAAAAAAAMw/ZwDKXiHlhV0/s320/SketchBook + Mobile(4).png

アドバイスしてもらえますか?この方法で線を引くことができますか(エッジが滑らかでスリムです)?(線を滑らかにするために)エッジにアルファグラデーションの円を描くことを考えましたが、それは非常にゆっくりと私見になります。

手伝ってくれてありがとう

アップデート

描画アルゴリズムを変更しました。これで、すべてのイベントでUITouchを保存し、drawRect:メソッドで前からパスを描画します。現在のものを指します。そして、すべてのdrawRect:呼び出しでコンテキストからUIImageをダンプします。

しかし、まだ2つの質問があります。

  1. よりスムーズに描くことは可能ですか?つまり、非常に速く描画すると、パスパスが直線のセットであることが簡単にわかります。しかし、パスをスムーズにするために、曲線を描きたいと思います。おそらくベジェ曲線が役立つでしょうが、私はそれらがこれにどのように役立つのか理解していません。状況。
  2. パスを細い線で始めて、細い線で終わらせたいです。この線変換を行うにはどうすればよいですか?ありがとう!
0 投票する
2 に答える
539 参照

objective-c - クォーツ 2D レイヤー

Quartz 2D を使用して 2 つの別々のレイヤーを作成したいと考えています。再描画メソッドを個別に処理できますか? 画面全体や他のレイヤーを再描画せずに1つのレイヤーを再描画できるようにします。

出来ますか?コードサンプルはありますか?

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

objective-c - ロールバック drawRect:

drawRect:現在を更新せずに終了する方法はありますUIViewか? 例えば:

ありがとう!

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

ipad - Apple iPad および PDF のサポート

PDF と Apple iPad での使用に関していくつか質問があります。

1) iPad はすべての Quartz PDF 関数 (つまり、すべての CGPDFxxx 関数/クラス) をサポートしていますか?

2) iPad は PDF キットをサポートしていますか?

3) 指のタッチの座標に基づいて、基になる PDF アイテム (記事、テキスト、注釈など) を検出することは、両方の API のいずれかで可能ですか?

4) Quartz PDF 関数と PDF Kit の違いは何ですか?

よろしくお願いします、STeN

0 投票する
4 に答える
785 参照

iphone - iPhoneゲームプログラミングのためにQuartzを学ぶ必要がありますか?

iPhoneで2Dゲームを学び、開発したいのですが、最初にQuartz 2dを学ぶべきかどうかわかりません。それとも、openGL ESに直接ジャンプできますか?

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

iphone - UIScrollView に画像と線を描画する

ViewControllers の 1 つが画像を表示する UIScrollView を表示しているアプリをプログラミングしています。

画像 (png 形式のプッシュピン) を読み込み、UIScrollView 画像のいくつかのポイントで描画 (および削除) したいと思います。

また、その画像にベジエ パスを描画したいと思います (そしてそれらを削除します)。

いくつかのアプリをプログラミングしましたが、グラフィック プログラミングに直面するのはこれが初めてで、どこから始めればよいかわかりません。

助言がありますか?

ありがとう!