私は配列に各ピクセルをロードしているビットマップを持っています。その後、各配列のピクセルデータを調べて、色が赤であるかどうかを確認し、BLACKに変更します。だから1024x1024の画像であれば、私は1048576の長さの配列を調べなければなりません。これを処理するためのより速い方法がありますか?パフォーマンスを向上させるためのアドバイスは歓迎します。私は基本的にイメージの色をチェックし、それを変更する必要があります。以下は私のコードサンプルです。java androidで配列を処理する方が速いのですか?
int[] allpixels = new int[myBitmap.getHeight() * myBitmap.getWidth()];
myBitmap.getPixels(allpixels, 0, myBitmap.getWidth(), 0, 0,
myBitmap.getWidth(), myBitmap.getHeight());
for (int i = 0; i < myBitmap.getHeight() * myBitmap.getWidth(); i++) {
if (allpixels[i] == fromColor) {
allpixels[i] = toColor;
}
}
Bitmap bitmapCopy = myBitmap.copy(myBitmap.getConfig(), true);
bitmapCopy.setPixels(allpixels, 0, myBitmap.getWidth(), 0, 0,
myBitmap.getWidth(), myBitmap.getHeight());
ここでは複数のスレッドを使用できるようです。 –
はあなたのケースのように聞こえるhttp://stackoverflow.com/questions/4251027/faster-way-to-set-a-png-bitmap-color-instead-of-pixel-by-pixel –
@Sergey Bennerありがとうございました。これは私のために働いた。 – Vinodtiru