画像にセピア効果を適用しますが、ボタンをクリックしてその効果を適用しますが、90秒後に適用します。あなただけの岩下半透明の黄色/オレンジ色の四角形を配置することができ画像処理に時間がかかります
public static Bitmap effect(Bitmap src, int depth, double red, double green, double blue)
{
int width = src.getWidth();
int height = src.getHeight();
Bitmap bmOut = Bitmap.createBitmap(width, height, src.getConfig());
final double GS_RED = 0.3;
final double GS_GREEN = 0.59;
final double GS_BLUE = 0.11;
int A, R, G, B;
int pixel;
for(int x = 0; x < width; ++x) {
for(int y = 0; y < height; ++y) {
pixel = src.getPixel(x, y);
A = Color.alpha(pixel);
R = Color.red(pixel);
G = Color.green(pixel);
B = Color.blue(pixel);
B = G = R = (int)(GS_RED * R + GS_GREEN * G + GS_BLUE * B);
R += (depth * red);
if(R > 255) { R = 255; }
G += (depth * green);
if(G > 255) { G = 255; }
B += (depth * blue);
if(B > 255) { B = 255; }
bmOut.setPixel(x, y, Color.argb(A, R, G, B));
}}
return bmOut;
}
問題をより明確に記述してください。この機能には時間がかかりすぎると言っていますか? –
代わりに 'getPixels()'と 'setPixels()'を使用し、それぞれのピクセルを1つずつ処理するのではなく、結果として得られる配列をその間で操作することをお勧めします。 – kcoppock