Android - 在位图上绘图

时间:2013-07-19 11:16:11

标签: java android bitmap android-canvas

早上好。我正在编写一个应用程序来显示和分析GPR地图。不幸的是,我给出的地图是txt文件,其中char 0x00 代表黑色, 0xFF 代表白色。该应用程序处于早期阶段,我已设法使用以下代码在屏幕上显示这些文件:

public class DrawMap extends View {
    // ...
    public void onDraw(Canvas canvas) {
        super.onDraw(canvas);

        this.paint.setStyle(Paint.Style.FILL);
        this.paint.setStrokeWidth(1);

        for (int x = 0; x < this.map.getSize(); x++) {
            for (int y = 0; y < this.map.getSize(); y++) {
                char val = this.map.getPixel(x, y);
                this.paint.setColor(Color.argb(0xff, val, val, val));
                canvas.drawPoint(10+x, 10+y, this.paint);
            }
        }
    }
}

由于地图的大小(宽度x高度)可能会有所不同,因此首先在Bitmap或类似地图上绘制地图会更容易,然后显示它以适合屏幕的大小。我不知道如何实现这一目标。我需要你的帮助。

1 个答案:

答案 0 :(得分:0)

试试这个:

int w = WIDTH_PX, h = HEIGHT_PX;

Bitmap.Config conf = Bitmap.Config.RGB_565;
Bitmap bmp = Bitmap.createBitmap(w, h, conf);
Canvas canvas = new Canvas(bmp);

// ready to draw on that bitmap through that canvas

来源:creating an empty bitmap and drawing though canvas in android

希望有所帮助!