問題タブ [cgcontext]

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

iphone - ユーザーが画像に触れたときに画像の一部を消去する方法

私の全体像の目標は、画像の上に灰色のフィールドを配置することです。ユーザーがその灰色のフィールドをこすると、下の画像が表示されます。基本的に宝くじのスクラッチカードのようなものです。ドキュメントやこのサイトをたくさん検索しましたが、解決策が見つかりません。

以下は、ユーザーが触れた場所に基づいて画像を「消去」することをテストするための概念実証ですが、機能していません。:(

私はタッチを検出する UIView を持っており、次のようにして UIImageView で画像をクリップする UIViewController に移動の座標を送信します。

問題は、タッチがこのメソッドに問題なく送信されることですが、オリジナルでは何も起こりません。

クリップパスを間違って実行していますか? または?

よくわからないので、何か助けていただければ幸いです。

前もって感謝します、ジョエル

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

objective-c - drawRectコンテキストエラー

drawRectを使用しないと、多くの人がコンテキストエラーを受け取ると聞きました

今私はこれを持っています:

エラー:

これは以前のプログラムで機能していましたが、今回のプログラムでは機能しませんでした。違い:このUIViewを呼び出すViewControllerがあります。

これが私の最初の質問です。ここにどれだけの情報コードを入れるべきかわからないので、簡単に説明してください。

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

iphone - iPhone CGContext: 2 つの異なる色で 2 つの線を描画する

iPhone アプリで CGContext を使用すると問題が発生します。異なる色でいくつかの線を描画しようとしていますが、すべての線は常に最後に使用された色になります。いくつかのアプローチを試みましたが、うまくいきませんでした。

その問題に対処するために、小さなサンプル プロジェクトを設定しました。これは私のコードで、drawRect メソッドで使用します。赤と青の線を引こうとしています:

ご協力いただきありがとうございます

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

iphone - Quartz 2D: CGContext から別の CGContext への描画

CGBitmapContext ( bitmapContext ) があり、現在の CGContext ( context ) にその長方形部分 ( rect )を描画したいと思います。

今、私はそのようにしています:

最適ですか?それを行う最良の方法は何ですか?

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

iphone - CGAffineTransformを使用してUIImageViewからUIImageを保存します

UIScrollView内にUIImageViewがあり、ユーザーが任意の数の反転および回転操作を実行できるようにしています。私はこれをすべて機能させており、ユーザーはズーム、パン、フリップ、回転を行うことができます。ここで、最終的な画像をpngに保存できるようにしたいと思います。

しかし、これを解決しようと頭を悩ませています...

これに似た他の投稿をかなり多く見ましたが、ほとんどの場合、回転などの単一の変換を適用するだけで済みます。たとえば、回転したUIImageViewからUIImageを作成します。

ユーザーが「作成」した変換を適用したいと思います。これは、一連の反転と回転が連結されたものになります。

ユーザーがさまざまな回転や反転などを適用しているので、CGAffineTransformConcatを使用して連結された変換を保存します。たとえば、彼らが回転するとき、私はします:

次の方法は、完全な変換を使用してUIImageを作成するためにこれまでに得た最良の方法ですが、画像は常に間違った場所に変換されます。たとえば、画像は「オフセット」です。私の推測では、CGAffineTransformTranslateまたはCGContextDrawImageで設定されている間違った境界を使用することに関連しています。

誰かアイデアはありますか?これは私がそうあるべきだと思ったよりもずっと難しいようです...

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

iphone - パフォーマンスが向上したUIImageViewでのペイント

ユーザーがiPad/iPhoneの画面上で指を動かすと、点線を描くビューがあります。LastLocationとして保存されているポイントとCurrentLocationであるポイントの間に線を引きます。図面は画面上に永続的に表示されます。これは、touchMovedイベントが発生するたびに発生し、ペイントアプリケーションのように、人が指をドラッグした場所をトレースする点線を描画できるようになります。

タッチイベントが発生したときに次のように呼び出される関数があります。ビューには、drawImageと呼ばれるUIImageViewが含まれています。描画された線を永続化する手段としてUIImageViewを使用します。これは非常に遅いので、人々が通常ペイントアプリケーションを行う方法ではないことは明らかです。CGContextRef呼び出しを使用して永続的なペイントを行うためのより良い方法についての洞察をいただければ幸いです。

'drawImage.image drawInRect'呼び出しは非常に遅く、本質的に画像全体を再描画します。

これを行うより速い方法はありますか?ブログのいくつかの場所でこのようなコードを描画するのを見たことがありますが、少し遅いです。このトピックに関するいくつかの考えを聞きたいです。

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

iphone - 線が常に同じ長さである点または点を通る線を引くにはどうすればよいですか (iPhone アプリ開発者)

円形のグラフに放射状のカーソルがあり、カーソルは iPhone 画面上のタッチした場所に移動しますが、タッチがグラフの原点の近くまたは外側で発生した場合でも、カーソルを同じ長さに保つ必要があります。グラフ。これを行う方法がわかりません。どんな助けでも大歓迎です

0 投票する
3 に答える
957 参照

iphone - コア テキスト: バックグラウンド スレッドでページをカウントする

Core Text を使用して iPhone 用のテキスト ビューアを作成しているとします。ユーザーが基本フォント サイズを変更するたびに、特定のフォント サイズで NSAttributedString 全体を表示するために必要なページ数 (固定サイズの CGRects) をカウントする必要があります。

そして、ユーザーが不必要なUIの遅れを経験しないように、これを別のNSOperationで行いたいと思います。

残念ながら、ページをカウントするには、非表示テキスト描画モードを使用してフレーム (CTFrameDraw) を描画し、CTFrameGetVisibleStringRange を使用して文字をカウントする必要があります。しかし、テキストを描画するには CGContext が必要です。そして、ここから問題が始まります...

UIGraphicsGetCurrentContext を呼び出すことで、drawRect で CGContext を取得できますが、この場合は次のようになります。

  1. performSelectorOnMainThread を使用して CGContext で動作するメソッドを呼び出す必要がありますよね?
  2. 他のスレッドは、このコンテキストを CFRetain する必要があります。drawRect メソッドの外で drawRect の CGContext を使用することは許容されますか?

他の解決策はありますか?ワーカー スレッドで別の CGContext を作成しますか? どのように?CGBitmapContext? ページが正しくカウントされるように、すべての条件 (わからない、解像度など) が drawRect の CGContext と同じであることを確認するにはどうすればよいですか?

0 投票する
3 に答える
675 参照

iphone - iPhone 描画コンテキスト

私は単に新しいコンテキストを作成しようとしているコンポーネントを描画しようとしているのではなく (私は思う)、描画の内容を含む UIImage を吐き出そうとしています。既存のコンポーネントを描画しようとしているわけではありません。次のコードを使用しています。

残念ながら、「無効なコンテキスト」というエラー メッセージが表示されます。Google で検索しても、既存のコンポーネントを利用しようとしている人しか出てこなかったようです。新しいUIImageを吐き出したい。

ビットマップコンテキストを作成するために、ここで例を試しました - http://developer.apple.com/iphone/library/documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_context/dq_context.html#//apple_ref/doc/uid/TP30001066-CH203 -SW9

私はまだ得る:

: CGContextGetShouldSmoothFonts: 無効なコンテキスト : CGContextSetFont: 無効なコンテキスト : CGContextSetTextMatrix: 無効なコンテキスト : CGContextSetFontSize: 無効なコンテキスト など...

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

objective-c - CGContextを使用して既存のUIViewの上に描画するにはどうすればよいですか?

UIViewメソッドにいくつかのサブビューを追加したサブクラスがありinitWithFrameます。とりわけ、背景を追加しました。

これらのビュー(画面全体をカバーしている)の上にいくつかの形状を描画したいと思います。しかし、drawRect:これらの形状を描画するために実装した場合、それらは表示されませんでした。他のサブビューを削除すると、形状が他のサブビューの「下」に描画され始めていることに気付きました。

どうすればそれらを上に描くことができますか?