早上好。我正在编写一个应用程序来显示和分析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或类似地图上绘制地图会更容易,然后显示它以适合屏幕的大小。我不知道如何实现这一目标。我需要你的帮助。
答案 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
希望有所帮助!