問題タブ [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 に答える
1579 参照

iphone - iOS4のCALayerまたはUIViewbackgroundColorUIImage

良い一日。

これが機能しないようにするために何が変更されたかはわかりません。iOS 3 SDKでは、次のコードがCATiledLayerクラスで正常に機能しました。

ただし、iOS 4用にコンパイルしてシミュレーターで実行すると、イメージのレンダリングに失敗します。サブレイヤーとして追加された画像は問題なくレンダリングされるため、特に困惑しています。背景のみはレンダリングされません。

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

iphone - CGContextを使用してプログラムでPDFを作成する - 改行+ iPhoneを取得できません

CGContext と CGContextShowTextAtPoint を使用して、iPhone アプリでプログラムで PDF を作成しています。これは小さなテキストではうまく機能しますが、テキストに改行がある場合 (\n) や、ページの最後に達したときにテキストを次の行に自動的に折り返す場合はいつでも、これは起こりません。

テキスト内の改行は単にスペースに置き換えられ、テキストは折り返されません。これをどのように達成できるかについて、本当に感謝しています。PDFを作成するために使用するコードは次のとおりです。

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

cocoa-touch - ユーザーが触れた PDF オブジェクト (文字列、画像など) を取得するにはどうすればよいですか?

CGPDF* クラスのセットを使用して PDF ドキュメントを読み込んでいます。ユーザーがタッチ (「クリック」) したオブジェクトを抽出する方法はありますか? 他の方法で、特定の座標で PDF / (Quartz?) オブジェクトを取得する方法はありますか?

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

objective-c - CGContextRef の保存

元に戻すメソッドを作成したい描画アプリがあります。描画は TouchesMoved: メソッド内で行われます。

CGContextRef を作成してスタックにプッシュするか、後で復元できるコンテキスト プロパティに保存しようとしていますが、うまくいきません。どんなアドバイスも素晴らしいでしょう。これが私が持っているものです...

次に、元に戻すボタンによってトリガーされるメソッドがあります...

これを実行すると、画像内のすべてが消去されるため、drawingSurface に nil が割り当てられていると思います。

私の推測では、この方法で pop と push を使用することはできません。しかし、コンテキストを保存してから drawingSurface に戻す方法がわかりません。うーん。どんな助けでも...まあ...役に立ちます。前もって感謝します -

参考までに、画面に描画するために私が行っていることを次に示します。これはうまく機能しています。これは私のTouchesMoved内にあります:

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

python - Quartz2dpythonデモを純粋なCoreGraphicsCに移植する

まず、Objective-cとMacの開発で何をしているのかまったくわからないことに注意してください(cは問題ありませんが)。Python用のQuartz-2dバインディングを使用して、leopardで素晴らしくシンプルなグラフィックユーティリティを作成しました。

http://developer.apple.com/graphicsimaging/pythonandquartz.html

これは基本的にテキストファイルを入力し、素敵なpngファイルを書き込みます(これはコマンドラインユーティリティです)。ユーティリティをユキヒョウサーバーに移動し、ユキヒョウのCoreGraphicsと32ビットPythonにあらゆる種類の問題があることを発見するまで、私は泥の中の豚として幸せでした。これらの問題のいくつかは解決可能であり、いくつかは解決できません。そのため、この単純なユーティリティスクリプトをobjective-c(実際にはCIが想定)に移植しようとしていますが、いくつかの問題が発生しています。pythonやquartzで与えられたものとほぼ同じで、すべてネイティブコードで与えられた良い例があるかどうか、他の誰かが知っていますか?

私の主な問題は、グラフィックスコンテキストをファイルに書き込むことです

MyCreateBitmapContextは、クォーツ2dに関するアップルのガイドの単純な関数です。

TL; DR上記のリンクにあるPythonデモのCポートを持っている人はいますか?

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

cocoa - CGImageで画像を描画?

があり、CGImageRefに表示したいNSView。既にCGImageRefソース パスから取得していますが、次の方法は機能しません。

どうしたの?

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

iphone - iPhone OS で PDF にレンダリングされた Quartz 図面を保存する

私のアプリでは、PDF ページを表示しており、ユーザーがページの上にフリーハンドで描画してドキュメントを「マークアップ」できるようにしたいと考えています。フリーハンド描画を行うための Quartz コードを処理できますが、これらの「マークアップ」を保存して、次回ユーザーが PDF をアプリにロードしたときにページ上に再表示できるようにするには、どのような方法を使用できますか?

ありがとう、

//スコット

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

iphone - CGContextが境界にクリップされるのはなぜですか?

drawInContext()をオーバーライドして、CALayerの境界外に描画できるようにする必要がありますか?レイヤーのmaskToBoundsがNO(デフォルト)に設定されていても、drawInContext()は、レイヤーの境界に設定されたクリップで呼び出され、レイヤーの外側に描画できません。

私のテストレイヤーは次のようなことをします:

これが私がそれを設定する方法です:

これはコアアニメーションレイヤーの単なる制限ですか?(このレイヤーの上のレイヤーを描画する必要がありますか?)

ありがとう。

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

iphone - iPhoneのQuartzでグロー効果を得るには?

iPhone用のクォーツ2Dでグロー効果を探しています。グローをシミュレートするために異なるアルファ値で線を作成しようとしましたが、うまくいきませんでした...

誰でもそれで私を助けることができますか??

ps ユーザーがグローで描画できるアプリを作成しています。私は基本的な線を持っていますが、輝きはありません:(

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

ipad - なぜ Quartz は私の drawInContext() をダブル バッファリングしないのですか?

drawInContext() を介して CALayer サブクラスで単純な線画 (中央にテキストがある線) をレンダリングしています。ユーザーが setNeedsDisplay を呼び出してジェスチャを実行しているときに、このレイヤーを更新します。私が見ている効果は、ダブル バッファリングが行われていなければ期待できるものです...つまり、新しいレンダリングの一部が古いレンダリングの一部と重なっているのがわかります。更新を停止する (ジェスチャを完了する) と、システムは「追いつき」、常に正しい最終結果が表示されますが、更新中に一貫性のない結果が表示されます...この効果は微妙ではなく、極端な場合もあります...たとえば、新しい部分が先に描画されている間、画面上の古い部分を数秒間維持できるほど速く更新し続けます...

私はこれをまったく理解していません。Quartz がバッファリングを行っている場合、結果が画面全体にブリットされていないか、影響を受ける領域の計算が間違っているようです。

私が試したこと:

1) 暗黙的なアニメーションを無効にして、CATransaction 内ですべての描画を行っています

2) 図面を間違えているわけではありません...文字通り、間にテキストが入った 2 行だけです...中間アーティファクトをレンダリングする方法はありません。

3) ほとんどの更新をスキップして更新速度を制限しようとしましたが、更新を停止してシステムが追いつくまで、更新速度を遅くしてもアーティファクトが表示されます。

4) ところで、これはシミュレータとデバイス (iPad) で同じように発生します。

自分でオフスクリーン バッファに描画し、それを画面全体にコピーする必要がありますか? Quartz が私のためにこれを行うことを読んだことがあると思いました。

更新: いつものように、何時間も頭を壁にぶつけた後、質問を投稿してから 5 分後に (部分的な) 回答を見つけました。レイヤーをズームで再レンダリングするために、CATiledLayer を使用していることに気付きました。通常の CALayer に戻すと、不具合はなくなります。したがって、個別のタイルのレンダリングのアーティファクトを見ていると思います。今、私はこれに対処する方法を見つけようとしています...