我在自定义视图上创建了一条对角白线,从屏幕的一个角落到另一个角落 -
canvas.drawLine(0, 0, MainActivity.width+10, MainActivity.height, paint);
我知道如何在Bitmap上获取像素和setPixels,就像这样 -
public Bitmap generateAlphaMask(Bitmap bmpTop,Bitmap bmpBottom) {
int width = bmpTop.getWidth();
int height = bmpTop.getHeight();
boolean[][] res = new boolean[width][height];
int[] colors = new int[width * height];
bmpTop.getPixels(colors, 0, width, 0, 0, width, height);
for (int x = 0; x < width; ++x) {
for (int y = 0; y < height; ++y) {
int cell = y * width + x;
int redVal = Color.red(colors[cell]);
int greenVal = Color.green(colors[cell]);
int blueVal = Color.blue(colors[cell]);
int alpha = Color.alpha(colors[cell]);
res[x][y] = alpha == ALPHA_THRESHOLD;
if (res[x][y]) {
bmpBottom.setPixel(x, y, Color.TRANSPARENT);
}
}
}
return bmpBottom;
}
但我想在画布中存储像素为“非白色”的像素位置。 请帮我解决这个问题。