私はアンドロイドでユーザーに表示しているときに、カラー画像(ネットからダウンロードしています)を白黒に変換する方法を知りたかったのです。 誰でもあなたのアンドロイドの仕事のいずれかでこの要件を見つけることができます。私にお知らせください。Androidでカラー画像を白黒にする方法
おかげ ラクシュマン
私はアンドロイドでユーザーに表示しているときに、カラー画像(ネットからダウンロードしています)を白黒に変換する方法を知りたかったのです。 誰でもあなたのアンドロイドの仕事のいずれかでこの要件を見つけることができます。私にお知らせください。Androidでカラー画像を白黒にする方法
おかげ ラクシュマン
こんにちはあなたは、コントラストを使用して画像の黒n個の白を作ることができます。
は
public static Bitmap createContrast(Bitmap src, double value) {
// image size
int width = src.getWidth();
int height = src.getHeight();
// create output bitmap
Bitmap bmOut = Bitmap.createBitmap(width, height, src.getConfig());
// color information
int A, R, G, B;
int pixel;
// get contrast value
double contrast = Math.pow((100 + value)/100, 2);
// scan through all pixels
for(int x = 0; x < width; ++x) {
for(int y = 0; y < height; ++y) {
// get pixel color
pixel = src.getPixel(x, y);
A = Color.alpha(pixel);
// apply filter contrast for every channel R, G, B
R = Color.red(pixel);
R = (int)(((((R/255.0) - 0.5) * contrast) + 0.5) * 255.0);
if(R < 0) { R = 0; }
else if(R > 255) { R = 255; }
G = Color.red(pixel);
G = (int)(((((G/255.0) - 0.5) * contrast) + 0.5) * 255.0);
if(G < 0) { G = 0; }
else if(G > 255) { G = 255; }
B = Color.red(pixel);
B = (int)(((((B/255.0) - 0.5) * contrast) + 0.5) * 255.0);
if(B < 0) { B = 0; }
else if(B > 255) { B = 255; }
// set new pixel color to output bitmap
bmOut.setPixel(x, y, Color.argb(A, R, G, B));
}
}
return bmOut;
}
がmathodコールで50にdouble値を設定します。..コードを参照してください。例createContrast(Bitmap src, 50)
ための組み込みメソッドを使用します。
public static Bitmap toGrayscale(Bitmap srcImage) {
Bitmap bmpGrayscale = Bitmap.createBitmap(srcImage.getWidth(), srcImage.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bmpGrayscale);
Paint paint = new Paint();
ColorMatrix cm = new ColorMatrix();
cm.setSaturation(0);
paint.setColorFilter(new ColorMatrixColorFilter(cm));
canvas.drawBitmap(srcImage, 0, 0, paint);
return bmpGrayscale;
}
素晴らしいことだし、それが完璧に動作しますが、それは遅いですもの。私は通常のアンドロイドデバイスで6個の300px * 300pxの画像を変換しています。これを達成するには6秒かかります!時間を減らすためにできることは何ですか?画像のサイズを小さくすることを意味します。 – Reza