保存的位图只是空白文件

时间:2016-02-26 21:49:06

标签: android image-processing bitmap

在我的应用程序中,我正在使用Canvas。当用户单击“保存”图标时,我将检索正在绘制的位图画布并将其另存为PNG文件。一切正常,但图片是空白的。保存为JPEG时,它只是全黑。

画布代码

Place  Visits
China     23
China     48
Boston    534
Boston    34

Activity只调用AsyncTask,所以我不会在这里发布。 这是AsyncTask

private Bitmap bitmap;

@Override
protected void onSizeChanged(int w, int h, int oldW, int oldH) {
    super.onSizeChanged(w, h, oldW, oldH);

    bitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
    canvas = new Canvas(bitmap);
}

public Bitmap getBitmap() {
    return bitmap;
}

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    float x;
    float y;

    for(int i = table.length - 1; i >= 0; i--) {
        x = table[i][0];       
        y = table[i][1];
        alpha = (int) table[i][2];

        paint.setAlpha(alpha);
        canvas.drawPoint(x, y, paint);
    }
}

这就是图片中的内容 enter image description here

修改

添加了onDraw()方法

1 个答案:

答案 0 :(得分:0)

您必须在自定义视图中创建自己的Canvas并在其中绘制:

mCanvas = new Canvas(bitmap);

并在你的ondraw()

mCanvas.drawPoint(parm1, parm2, param3);

问题是你没有在合适的画布上画画。