問題タブ [cgcontextref]

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

iphone - iPhoneのコンテキストとは何ですか?

コンテキストとは何か、どのように使用できるかを説明できますか? Graphics Context (CGContextRef) もあります。Context と Graphics Context の間に何か関係はありますか?

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

ios - iOS アプリケーション - cgcontextref を使用した描画時のメモリ警告

customClass の drawRect メソッドで描画するアプリケーションを開発しています。

ビューのグラフィック コンテキストで線を描画します。setNeedsDisplay を使用して何度も再描画すると、メモリ警告が表示され、アプリがすぐにクラッシュします。

drawRect コードにリークがないかどうかを確認しました。何も見つかりませんでした。メモリ割り当ても大きな違いはありませんでした。

問題は一度修正され、iOS デバイスが再起動されました。しかし、私はクラッシュが再び繰り返されると確信しています。何が問題になる可能性があります。同様の問題に直面した人はいますか?

コードは以下のとおりです。

アップデート:

再び同じ流れでクラッシュが繰り返されました。これは、デバイスを再起動してから 8 時間以上経過した後に発生しました。アプリを 8 時間も使用していません。デバイスを再起動した後、アプリケーションはその特定のフローでまったくクラッシュしません。

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

ios - UIColorとグラフィックスコンテキスト

私はそのようなパスを描くカスタムUIViewを持っています

私のカスタムUIViewには、塗りつぶしの色を変更するメソッドもあります

changeColor:メソッドを次のような事前定義された色のいずれかで呼び出すと

すべてが正常に動作します。代わりに、次のようなカスタムカラーを付けようとすると

カスタムUIViewの色は、白、赤、青の間でランダムにちらつきます。

それはなぜですか?

前もって感謝します!

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

iphone - iOS:CGContextRefdrawRectが入力に同意しません

背景:ユーザーがどこかをタッチアップしたときにブロックを描画したいと思います。ブロックがあれば消したいです。NSMutableArrayブロックがどこに行くべきかを追跡するためにを使用してブロックを管理します。ユーザーがタッチするたびに、タッチ場所にすでにブロックが含まれているかどうかが判断され、それに応じて配列が管理されます。

問題:これから非常に奇妙なフィードバックがありました。まず第一に、配列内のすべてが私が望むように機能します。問題は、ユーザーがブロックを消去したいときに発生します。配列は正しく維持されていますが、図面は配列の変更を無視しているようです。最後のドット以外は削除されません。そして、それでも、ユーザーが他の場所をクリックすると、点滅がオンとオフに切り替わります。

コードは次のとおりです。

scaleは16として定義され pointArrayます。はビューのメンバー変数です。

テストするには:これを任意のUIViewにドロップし、それをviewControllerに追加して、効果を確認できます。

質問:図面を配列と一致させるにはどうすればよいですか?


更新+説明:私はこのアプローチのコストを認識していますが、それは私が簡単に把握するためにのみ作成されています。実際のアプリケーションでは使用されませんので、高価なことにこだわらないでください。この機能を作成したのは、描画した図形のNSString( )の値を取得するためだけです。@"1,3,5,1,2,6,2,5,5,..."これは、実際に再描画せずに使用すると、より効率的になります。尋ねられた質問に固執してください。ありがとうございました。

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

iphone - iPhoneでペイントブラシを描画中に線からドットを削除する方法は?

ここに画像の説明を入力次のコードを使用して、iphone でペイント ブラシを作成しています。

それは機能していますが、描画中に、描画されている線の特定の距離の後にいくつかのドットがあります.これらのドットを削除し、滑らかな直線が必要です.どうすればこれを達成できますか?

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

ios - CGContextRef を .PNG ファイルとして保存するにはどうすればよいですか?

「画像の保存」メソッドを作成したい描画 iOS アプリケーションを作成します。描画は touchesMoved: メソッド内で行われます。

描いたものを .PNG ファイルに保存したいと思います。

解決策はありますか?

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

ios - UIGraphicsBeginImageContext 無駄?

UIImage に描画する場合、常に UIGraphicsBeginImageContext で作成された新しい UIImage に描画する必要があるという要件があるのは無駄ではありませんか?

頻繁に描画する必要がある場合は、既存の UIImage に描画してみましょう。

または、これを行う方法はすでにありますか?

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

objective-c - CGContext 状態を NSMutableArray に保存する方法は?

私はCGContextの世界に不慣れです。NSMutableArray に CGContext のスタックを作成する必要があります。

  1. UIGraphicsBeginPDFContextToData で作成された有効な PDFContext があります

  2. このコンテキストを引数としてメソッドに渡しています

    -(void) drawTo:(CGContextRef) context{}

  3. まず、現在のコンテキストを次のように識別します。

    CGContextRef curCon = context;

  4. NSLog 値:

    context:<CGContext 0x6b79d60>

  5. 次に、現在のコンテキストのコピーを作成しようとします。

    CGContextRef conCopy = UIGraphicsGetCurrentContext();

  6. 次に、それを NSMutableArray に追加します。

    [myMutableArray* addObject:(id)conCopy];

  7. 次に、NSMutableArray の内容をリストします。

    after an object added:<__NSArrayM 0x6b7e850>(<CGContext 0x6b79d60>)

そして、追加された値は、コピーではなく、引数としてこのメ​​ソッドに最初に送信されたものと同じコンテキストであることがわかります。

ここで何が欠けていますか? それとも、現在のコンテキストのステータスを NSMutableArray に保存できないのでしょうか? パスが保存されないことは理解していますが、それで問題ありません。保存できる現在のコンテキストに関するあらゆるものを保存する必要があります。ありがとうございました!

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

iphone - iPhone:UIGraphicsPushContextの使用方法

ユーザーが指を使ってiPhoneの画面に描くiPhoneアプリを作っています

ViewController1で、別のUIViewクラスからサブクラス化されたビューを表示しています。すべてのタッチ移動ポイントを配列に格納します。

このビューでは、ユーザーは指を使って描画します

次に、ユーザーは別のビューViewController2に移動します

次に、ViewController3で、画像上のそのビューにそのポイントを再描画したいのですが、今回はエラーが発生します無効なコンテキスト0 X 0

UIGraphicsPushContextを使用する必要があると思います

しかし、私はそれを使用する方法がわかりません

誰かが私にこの問題を解決する方法を提案できますか

または、この問題を解決する他の方法はありますか

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

iphone - iPhoneのカスタムUIViewでフィンガーペイントを消す方法

フィンガー ペイント アプリケーション用のカスタム UIView (.xib なし) を作成しました。

ペイントはカスタム UIView で正常に動作しますが、私の問題は、ペイントされたパスを消去しようとすると次のようになることです。

エラー : コンテキストが無効です

以下は私のクラスです:

.h ファイル

機能を備えた消去ボタンを設定しましたが、機能しません。