在Android中处理ALPHA_8位图并在ImageView中显示

时间:2016-07-22 18:06:40

标签: java android image-processing colors bitmap

我正在实施索贝尔边缘检测算法。处理后我应用新的像素值,255或0.我的问题是在imageView中没有显示结果位图。我使用Alpha_8配置,因为它占用的内存更少,最适合边缘结果。 如何预览结果?

2 个答案:

答案 0 :(得分:2)

ALPHA_8格式用作掩码,因为它只包含alpha和无颜色信息。你应该把它转换成另一种格式,或者如果你想要使用它,那么你应该把它作为背景的掩码。 Check out this response从Android项目成员到类似问题。您还可以查看my response to another question,在那里我提供了一个代码示例,介绍如何将掩码应用到另一个位图。

答案 1 :(得分:1)

您可以使用ColorMatrixColorFilter显示ALPHA_8位图。 例如,使用以下矩阵

mColorFilter = new ColorMatrixColorFilter(new float[]{
        0, 0, 0, 1, 0,
        0, 0, 0, 0, 0,
        0, 0, 0, 0, 0,
        0, 0, 0, 0, 255
});

使用RED颜色绘制位图。

public void onDraw(Canvas canvas){
    mPaint.setColorFilter(mColorFilter);
    canvas.drawBitmap(mBitmap,x,y,mPaint);
}