問題タブ [quartz-graphics]
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.
iphone - iPhone での Quartz の描画が回転後にクリップされます!
3 つの四角形を描画していますが、そのうちの 1 つがビューの端から外れている (つまり、描画が現在のビューの境界よりも大きい) ため、右端が見えません。これは良いことですが、ビューを回転させると、描画する余地が十分にあるにも関わらず、右端が切り取られたままになります。ビューに四角形全体を再描画させるにはどうすればよいですか?
私は試しました:
1)フレームと境界の長方形をより大きなものに変更する
2)setNeedsLayoutを呼び出す
3)setContentMode:UIViewContentModeRedrawを呼び出す;
4) [self.view setClipsToBounds:NO] の呼び出し
誰かが何か他のことを提案しない限り、次は CGLayer を試すことです。
-オーウェン
macos - Mac OS X: あるプロセスが別のプロセスのウィンドウにレンダリングできますか?
ご挨拶!
私は現在、Web ブラウザ プラグインを Win32 から MacOSX に移植しています。プラグインの機能の 1 つは、プラグインが読み込まれると、プラグインの「エンジン」として機能する別のプロセスを生成し、プラグインのウィンドウへの描画操作を実行することです (具体的には、OpenGL コンテキストを親プロセスのウィンドウとそのコンテキストへの OpenGL レンダリング コマンドの実行)。これは、通常、プラグインがブラウザ プロセス内のスレッドとして読み込まれるためです。プラグインがクラッシュすると、ブラウザ全体がダウンしてしまいます。「重労働」を別のプロセスに分割し、プラグイン コードを非常にスリムに保つことで、ユーザーをこのようなクラッシュから保護することができます。
この子プロセス レンダラー アーキテクチャを MacOSX で保持したいのですが、MacOSX ではプロセスがそのウィンドウへのアクセスを別のプロセスに渡すことを許可していないという (Google Chrome Web ブラウザーに関連する) 嫌な噂を耳にしました。 . この分野での私自身の調査は決定的ではありませんでした。誰かがこの問題について何らかの知識を持っていて、この目標を達成する方法についてアドバイスを提供できるか、より決定的な「実行できない」場合は、非常に役に立ちます。
ご協力ありがとうございました!
iphone - iPhone の Quartz 2D で回転変換を行うときに原点を移動できますか?
これが明らかであるか、他の場所でカバーされている場合は申し訳ありませんが、私は一日中グーグルで検索しており、実際に機能する解決策を見つけていません.
私の問題は次のとおりです。現在、フルスクリーンの UIView で画像を描画しています。たとえば、画像が UIView の右下隅にあるとします。その画像の中心で回転変換(CGAffineTransformMakeRotation)を実行したいのですが、デフォルトでは、回転コマンドはUIView自体の中心を中心に回転します。その結果、回転すると、画像が所定の位置にとどまり、独自の中心を中心に回転するのではなく、画像が画面の周りを移動します。
私が収集したものから、原点(UIViewの中心)が画像の中心になるようにコンテキストを翻訳し、回転させてから、元の場所に翻訳してコンテキストを復元する必要があります。
以下は、私が作業した最も近いものですが、問題は、画像が回転している間、回転中に下に移動することです。これは、移動の開始点と終了点が同じになることに気付くのではなく、最初のステップの移動と 3 番目のステップの移動をアニメーションでトゥイーンすることが原因だと思います...
CGContextTranslateCTM や CGContextSaveGState/UIGraphicsPushContext なども試しましたが、ほとんど効果がないようです。
私はこれと何日も戦ってきましたが、現在の解決策は近いようですが、その翻訳トゥイーンを取り除く方法がわかりません。これに対する解決策、またはこれを行うためのより良い方法はありますか?
[更新]当分の間、UIviewの中心を中心にして画像を描画し、UIView.centerプロパティを回転させたい原点に設定してから、回転コマンドを実行しています。ちょっとしたハックのように思えますが、実際の翻訳が機能するようになるまでは、それが唯一の選択肢です。ありがとう!
iphone - iPhoneの画面に線で署名を描く方法は?
ユーザーが iPhone の画面に署名を描画できるようにしたいので、UIView のサブクラスを追加し、その 'touchesMoved' メソッドにいくつかのコードを追加します。
小さな長方形で描いていますが、ドットバイドットであることがわかりました。あまりにも醜いので、署名を線で描きたいと思います。しかし、firstTouch と lastTouch を区別する方法は? 「touchesMoved」メソッドのみを使用すると、1 つのタッチ ポイントしか取得できません。
iphone - iPhoneで複数のアニメーションを作成するにはどうすればよいですか?
ゲームの複数のピースをアニメーション化したいのですが、それらのピースを異なる方向に移動させたいので、ビュー全体をアニメーション化する現在の方法は機能しなくなります。
一度に複数のアイテムをアニメーション化するためのベストプラクティスは何でしょうか。(私は2Dでレンダリングしているので、現在3Dソリューションには興味がないことに注意してください。)
ありがとう!
iphone - iPhone アプリでこの楕円を描く最良の方法は何ですか?
iPhone アプリのメール アプリと同様の楕円形にしたいと考えています。参照用のスクリーンショットはこちら: http://dl-client.getdropbox.com/u/57676/screenshots/ellipse.png
最終的には、数値が中央にある楕円が欲しいです。このタスクに UIImage を使用するのが最善ですか? Quartz で描画する方がオーバーヘッドが少ないのではないでしょうか? Quartz でできている場合、それを描画するためのソリューションを表示できる人はいますか?
iphone - Quartz 2D drawRectメソッド(iPhone)
4冊のiPhone/Cocoa / Core Animation / Objective-Cの本と、Webからの多数のサンプルコードが目の前にあります。それでも、どういうわけか、Quartz2Dで描画がどのように機能するかについての基本的な理解が不足しているように感じます。
drawRect()
単に描画コードを実行するためのフックになることを意味しますか?または、この方法は、「損傷」していて再描画が必要な領域も再描画することになっていますか?自分の作品を一度描いてから「くっつく」ことはできますか、それともいつでもシーン全体を塗り直す必要がありdrawRect()
ますか?JavaのGraphics2Dオブジェクトはこのように機能します。paint()が呼び出されるたびに「イメージ」全体を描画する必要があるため、いつでも再構築(またはキャッシュ)する準備をする必要があります。
簡単な描画プログラムをどのように実装しますか?drawRect()
ユーザーが描いた各線/点/ストロークを「覚えて」、呼び出されるたびにそれを複製する必要がありますか?「オフスクリーン」レンダリングはどうですか。すべての描画を行ってから、呼び出し[self setNeedsDisplay]
て書き込みを画面にフラッシュすることはできますか?
ユーザーのタッチに応じて、ユーザーがタッチした画面に「X」を付けたいとしましょう。Xはそこにとどまるはずであり、新しいタッチごとに別のXが生成されます。これらのタッチアップ座標をすべて覚えてから、それらをすべて描画する必要がありdrawRect()
ますか?
編集:
私が誤解しない限り、以下のjoconorとHectorRamosの答えは互いに矛盾しています。そして、それはこの主題に関する私の混乱の良いデモンストレーションです。:-)
iphone - iPhoneのほとんどのゲームはOpenGLESで実行されていますか?
iPhoneのほとんどのゲームは、QuartzやCore Animationを使用するのではなく、OpenGLESで実行されるのではないかと思っていました。QuartzとCoreAnimationは、主に洗練されたインターフェイスを作成するために使用されていますか?または、他のツールを使用するよりもOpenGLを使用しなければならないゲームのポイントがある場合はどうでしょうか。
iphone - iPhone で Quartz2D を使用して代替入力を設計する
ディスクのような形をした単純な iPhone 入力デバイスを作成しようとしていますが、その半分が画面に表示されます。アイデアは、このディスクが回転し、ディスクの回転が停止したときに選択が中央のメニュー項目になるということです。そのようなことを実装する最良の方法は何でしょうか? 現在、Quartz2D と CoreAnimation について調べていますが、どのように進めればよいかわかりません。
これは 1 つのアプリにしか必要ないので、Photoshop でシバン全体を事前にレンダリングしてから CoreAnimation で回転させ、ディスクのどの部分が「中央」にあるかを追跡するメカニズムを用意する方が理にかなっています (たとえば、どのメニュー項目)選択されます)?または、より一般的で簡単な方法はありますか?(私は何かが欠けているに違いない...)