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

swift - Swift で CGContextRef を解放する必要がありますか?

CGBitmapContextCreate を使用してコンテキストを作成しました。CGContextRelease を使用してリリースする必要がありますか? Objective-C では答えがイエスであることはわかっていますが、Swift ではどうでしょうか?

ありがとう!

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

ios - グラフィックス コンテキストに問題がある

私は複数の端末画面アプリに取り組んでいUIViewます。そのため、端末ビュー用のカスタム サブクラスがあります。新しい端末画面が必要になるたびに、新しいビューを用意します。

このビュー クラスは、 を使用してテキストを描画しますCGContextRef。私が直面している問題は、コンテキストが作成された最後のビューのテキストのみを描画することです。たとえば、3 つの端末があり、最初/2 番目に描画すると、3 番目のビューにも描画されます。

これまでの私のコード:

最後に、自分で使用して解決しました

[[NSRunLoop currentRunLoop] runMode: NSDefaultRunLoopMode beforeDate: [NSDate date]];直後setNeedsDisplay

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

ios - iOS CGContextRef は、UIImage にストロークの色と境界線のテキストを描画します

UIImage に色と境界線のある描画ストローク テキストを実装しようとしていますが、解決策が得られません。

このTHLabelをテキストのストロークと境界線に使用しましたが、正常に機能しますが、そのコードを描画イメージにコピーした場合にのみ機能するため、その時点で機能します。

同じスクリーンショットを参照してください。助言がありますか?

UIImage メソッドにテキストを描画する:

ストロークの色とテキスト メソッドの境界線の THLabel コード:

ここに画像の説明を入力

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

ios - CGContextRef で作成されたグラフをズームする方法

CGContextRefを使って折れ線グラフを描いています。このグラフをズームインして、線をはっきりと表示するためにズームアウトできますか?

私はこのコードを使用しています。

注:- ビューをズームしたくありません。はっきり見えるように線を引き直したい。

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

ios - UIGraphicsImageContext から領域 CGRect を切り取る

現在のビューでCGPath描いている矢印のような形をしています。CGContext矢印のミニチュア バージョン (サムネイル) を生成して、選択したすべての矢印を表示するように追加したいと思いImageますUITableView

コンテキスト全体の画像をダウンスケールすることに成功しているため、矢印が本来よりも小さくなっています。理想的には、完全なコンテキストの画像を矢印の境界までトリミングしたいと思います。しかし、私はまだ成功していませんでした。手がかりはありますか?助けてくれてありがとう!

これは、矢印を含む完全なビューの写真と、私が生成しているサムネイルの別の写真です。 ここに画像の説明を入力 ここに画像の説明を入力

理想的には、上記のサムネイルは、完全なコンテキストではなく、矢印のみが含まれるように切り取られます。

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

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

ios - iOS9 ヒープ バッファ オーバーフローが検出されました - CGContextSetFillColor

コンテキストに描画するカスタム drawRect: 関数があります。2 つの異なる時点で、「ヒープ バッファ オーバーフローが検出されました」というメッセージが表示されました。コードの 2 行は次のとおりです。

CGContext メソッドによって色が参照されるたびに、ヒープ バッファ オーバーフローが検出されるようです。私が追跡できた奇妙な点は、使用されている UIColor オブジェクトのタイプです。UIColor のタイプが「UIDeviceWhiteColorSpace」の場合は常に、このクラッシュが発生します。UIColor のタイプが「UIDeviceRGBColorSpace」の場合、このクラッシュは発生しません。

「UIDeviceWhiteColorSpace」カラー タイプを生成する色の例は次のとおりです。

今のところ、HEX 値から「クリア」、「ホワイト」、および「ライト グレー」の色を生成するための回避策があります。私の HEX メソッドは、「UIDeviceRGBColorSpace」タイプの UIColorのみを生成します。

このコードは、しばらくの間、iOS7 と iOS8 で問題なく動作しました。

最終的に私の質問は次のとおりです。他の人はこれを経験していますか? 他に既知の回避策はありますか? これが iOS 9 GM に続くことを期待できますか?

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

swift - CGContext と CGContextRef は Swift で同じですか? これはどのように作動しますか?

今朝、いくつかのObjectiveCカスタムUIViewサブクラスを移植していました。Swiftより「オブジェクト指向」にしたいので、CGContextメソッドで拡張する例に従っていました。例えば

私は客観的な C スタイルのメッセージ (eg -(void) drawOutline: (CGContextRef) cr {...}) を Swift スタイルのメッセージ (eg ) にあまり注意を払わずに変換していたので、最初は引数func drawOutline(cr:CGContextRef) {...}を渡していることに気づきませんでしたが、拡張されていました(Ref ではありません)。しかし、うまくいきました!CGContextRefCGContext

CGContextRefもっと奇妙だったのは、これらの を だけに変更したときCGContextです。そして、それはまだ機能しました。コンパイルしただけでなく、正しく実行して描画しました。面白半分で に変えましたextension CGContextRef。それでも、それはまだ機能し続けています。あたかも Swift がそれらを同じものに煮詰めるのに十分賢いかのようです。それは...ですか?それとも、ここでもっと微妙な/クールなことが起こっていますか?

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

ios - CGContextScaleCTM および CGContextTranslateCTM で拡大および翻訳された uiview を正しく更新する方法

私は、別の uiview A の拡大された部分であることを意図した uiview B を持っています (「touchPoint」の周りの領域が拡大されています)。「touchPoint」が変更されたら、B の表示を更新します。B に次の関数があり、(B.setNeedsDisplay() を呼び出すと) 更新されますが、色あせた背景画像のように、古いコンテンツが何らかの形で表示されたままになります。古いコンテンツがまだ表示されている理由と、その効果が薄れている理由を知っていますか? 拡大している部分の背景が透明だからでしょうか?修正方法は?

画像を投稿したかったのですが、まだ十分な stackOverflow ポイントがありません... :-)

ご指摘ありがとうございます。