0

この問題を解決するのを手伝っていただけませんか。

円をビットマップに描画してから、ビットマップをmapViewに描画したいと思います。しかし、ビットマップはまだ作成されていません。これが私のコードです:

public class CustomOverlay extends Overlay {
    public HeatPoint pt;
    Context mContext;
    Bitmap bmp;
    public CustomOverlay(HeatPoint pt,Context context){
        this.pt=pt;  
        this.mContext = context;
        bmp = Bitmap.createBitmap(200, 200, Bitmap.Config.ARGB_8888);
        Paint gp = new Paint();

    gp.setColor(0xFF0000);

    gp.setStyle(Style.FILL);
    Canvas myCanvas = new Canvas(bmp);
    myCanvas.drawRect(10,10,40,40,gp);   

    }

    @Override
    public boolean draw(Canvas canvas, MapView mapView, 
    boolean shadow, long when) 
    {
        super.draw(canvas, mapView, shadow);                   

        Point screenPts = new Point();
        mapView.getProjection().toPixels(pt.getGeo(), screenPts);
        canvas.drawBitmap(bmp, screenPts.x-16, screenPts.y-2, null);
        return true;
    }      

}

このコードでは、画面に円を描きたいのですが、実行しても何も起こりませんでした。ご協力いただきありがとうございます。

4

1 に答える 1

0

以下のコードを見ることができます

int w = WIDTH_PX, h = HEIGHT_PX;

BitmapConfig conf = Bitmap.Config.ARGB_8888; // see other conf types
Bitmap bmp = Bitmap.createBitmap(w, h, conf); // this creates a MUTABLE bitmap
Canvas canvas = new Canvas(bmp);

このチュートリアルが役立つかもしれません

http://www.tutorialforandroid.com/2010/11/drawing-with-canvas-in-android-renewed.html

于 2012-06-28T05:38:10.457 に答える