2

Mac OS X 用のラスター グラフィックス フレームワークを探しています。具体的には、ピクセルのマトリックスのように (少なくとも概念的には) 操作できるビューが必要です。私のプログラムは、プログラムでピクセル データを生成します。

QuickDraw はその説明にうまく適合しますが、非推奨です。私が知る限り、Core Graphics には同等のものはありません。何か不足していますか?

プレーンな C フレームワークは、Objective-C のフレームワークよりも望ましいですが、私はあまりうるさいわけではありません。

4

4 に答える 4

4

現在の世代の完全に合成された UI と GPU HW では QD を効率的に実装する方法がないため、QD は廃止されました。そのため、システム上に QD のようなものはまったくなく、今後もありません。バッキング ストアへの直接アクセスを許可すると、GPU との間でより多くのバス トランザクションが発生し、最悪の場合、テクスチャがカード自体にロードされなくなり、場合によってはソフトウェア フォールバックが発生する可能性があります。

人々がバッキング ストアへのピクセル レベルのアクセスを必要とする理由があることは明らかです。そのため、それを行うためのメカニズムがいくつかありますが、実際に便利な方法はなく、それを回避する方法を見つけられる場合はそうするべきです。回避できない場合は、CoreGraphics を使用してCGBitmapContextCreateを使用してビットマップ コンテキストを作成し、バッキング ストアにアクセスして、バッキング ストアを直接操作できます。操作が簡単ではなく、遅いです。

于 2009-07-26T15:17:05.253 に答える
3

ビューの幅と高さをそれ自体で割ってから、幅 x 高さの正方形を描画するのはどうですか? NSPoint を使用して、幅 x 高さに達するまで 1 ずつ増やすことができます。

于 2009-07-26T15:12:50.910 に答える
2

Simple Directmedia Layerにはピクセル アクセスがあります。移植ライブラリなのでやり過ぎかもしれませんが、API全体はプレーンCです。基盤となるMacOS APIが何を使用しているのかはわかりません。ウェブサイトをチェックして、目的に適しているかどうかを確認することをお勧めします。

または、 OpenGLテクスチャを使用することもできます。

于 2009-07-26T15:41:05.343 に答える
0

これを行う最善の方法は Core Image です。ピクセルを操作するように設計されており、グラフィックス カードで作業できるため非常に高速です。

于 2009-10-01T05:05:21.553 に答える