0

特定のピクセルの色を赤に設定する方法を知りたいだけですか? x =37 y=54 で、このピクセルの色を赤に変更したいとします。どうすればいいのかわかりません。マーチング スクエア アルゴを使用して、特定のオブジェクトの周囲のポイントの値をピクセルの配列に取得しました。

4

3 に答える 3

0

既存ののピクセルを変更することはできませんCGImageCGImageピクセルを変更して新しいものを作成する必要があります。手順は次のとおりです。

  1. でを作成CGBitmapContextしますCGBitmapContextCreate
  2. CGImageを使用し既存のものを描画CGContextDrawImageします。
  3. CGContextSetFillColorWithColorとを使用してピクセルを描画しCGContextFillRectます。
  4. CGImageを使用して新しいを作成しますCGBitmapContextCreateImage

CGContextSetFillColorWithColorとを使用する代わりにCGContextFillRect、でポインタを取得した直後にビットマップデータを微調整できますCGBitmapContextGetData。あなたがそれをたくさんするつもりなら、それはより速いでしょう。

また、多くのことを行う場合は、ビットマップコンテキストを作成し、元の画像を1回だけ描​​画し、ビットマップコンテキストをそのままにしておくことをお勧めします。ただしCGImage、ビットマップコンテキストから新しいものを作成することは、ボトルネックになる可能性があります。

于 2012-03-01T07:20:17.773 に答える
0

CCSprite を使用している場合colorは、スプライトのプロパティを使用して色を変更するだけです。

mySprite.color=ccc3(123,234,12); //use whatever color values for red, green, blue you want

赤、緑、青の最大値ccc3は 255 です。最大の場合、色はスプライトの自然な色になります。明るくすることはできませんが、これらの値を変更すると、他の色に移動するか、すべてが同じ量だけ下に変更された場合、画像が暗くなります。

純粋な赤の場合、使用ccc3(255,0,0)

于 2012-03-01T17:15:14.517 に答える
0

あなたの質問は非常に漠然としていますが、一般的な答えは次のとおりです。

通常、ピクセルの色は 3 バイトまたは 4 バイトで表されます。

赤 - 緑 - 青 - (アルファ)

使用している SDK には、これらの値をピクセルに設定できる機能が用意されているはずです。純粋な赤色が必要な場合は、赤を 255 に設定し、その他を 0 に設定します。

于 2012-03-01T07:00:44.943 に答える