8

Canvas開始時にオブジェクトがあります。現在の色に応じて、いくつかのピクセルの色を変更する必要があります。どうすれば適切な方法でそれを行うことができますか?

詳細:

私は自分のクラスをから拡張していImageViewます。メソッドではonDraw(Canvas canvas)、サードパーティのクラスで何かを描画Canvasし、結果のあるオブジェクトのみを使用します。その後、現在の色に応じていくつかのピクセルの色を変更する必要があります。

4

3 に答える 3

4

android.graphics.Canvasと呼ばれるオブジェクトがcanvasあり、XYがピクセルを変更したいポイントであると仮定すると 、ここに行きます

電話 :

canvas.drawPoint(X, Y, paint);

クラスのオブジェクト、android.graphics.Paintつまりペイントを初期化する方法は次のとおりです。

Paint paint = new Paint();
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.WHITE);

このリンクでさらに検索して、さまざまな位置で複数のピクセルを変更します。目的を達成するのに役立つ多くの機能があります。幸運 :-)

于 2012-10-17T15:47:29.293 に答える
0

これを行うには、おそらく12の方法があります。Canvasアプローチを実行する場合は、ビットマップオブジェクトに描画する方法があります。その後、オブジェクトを別のキャンバスに描画できます。Bitmapオブジェクトには、ピクセルを変更する機能もあります。

ビットマップを使用すると、コピーをバッファに取り込むこともできます。ピクセルの保存方法を知っている場合は、画像操作の非常に高速な方法になります。Canvas自体にそれがあるかどうかはわかりません

于 2012-09-28T19:52:21.323 に答える
0

ピクセルごとではなく、(PNG)ビットマップカラーを設定するためのより高速な方法を検討することをお勧めします。ピクセルごとにビットマップの色を取得および設定するためのコード(質問内)と、ピクセルごとのアプローチの代替案(回答内)があります。また、おそらく役立つ:AndroidのビットマップのメソッドgetPixelsの説明

于 2012-10-15T00:29:43.960 に答える