ImageView に画像があります。特定のピクセルを赤に設定したいと思います。ある程度の進歩はありましたが、作成されたイメージの色が失われています。
iv.setImageBitmap(processingBitmap(bitmap));
private Bitmap processingBitmap(Bitmap src){
Bitmap dest = Bitmap.createBitmap(src.getWidth(), src.getHeight(), src.getConfig());
for(int x = 0; x < src.getWidth(); x++){
for(int y = 0; y < src.getHeight(); y++){
int pixelColor = src.getPixel(x, y);
int newPixel= Color.rgb(pixelColor, pixelColor, pixelColor);
dest.setPixel(x, y, newPixel);
}
}
for (int i=5; i<50; i++)
{
dest.setPixel(i, i, Color.rgb(255, 0, 0));
}
return dest;
}
Bitmap dest = src.copy(src.getConfig(), src.isMutable());
代わり に使用 すると、次の行Bitmap dest = Bitmap.createBitmap(src.getWidth(), src.getHeight(), src.getConfig());
にエラーが表示されます 。iv.setImageBitmap(processingBitmap(bitmap));
09-06 18:03:37.226: E/AndroidRuntime(811): 原因: java.lang.IllegalStateException 09-06 18:03:37.226: E/AndroidRuntime(811): android.graphics.Bitmap.setPixel(Bitmap .java:847)
また、すべてのピクセルをコピーして貼り付けてから、それらのピクセルを必要な赤に設定する必要がある理由もわかりません。私が使うだけなら
for (int i=5; i<50; i++)
{
dest.setPixel(i, i, Color.rgb(255, 0, 0));
}
赤い線で黒いイメージが得られます。
どんな助けでも大歓迎です!