还有另一种在android中的画布上绘制对象的方法吗?
draw()中的这段代码不起作用:
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.pushpin);
canvas.drawBitmap(bmp, screenPts.x, screenPts.y-50, null);
实际上,它正在处理我的第一个代码,但是当我将它转移到另一个名为MarkOverlay的类时,它已经无法正常工作了。
markerOverlay = new MarkerOverlay(getApplicationContext(), p);
listOfOverlays.add(markerOverlay);
我应该将哪个参数传递给MarkerOverlay以使此代码有效?错误发生在getResources()中。
仅供参考,canvas.drawOval完美无缺,但我真的想绘制一个不是椭圆形的图像。 :)
答案 0 :(得分:24)
package com.canvas;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;
public class Keypaint extends View {
Paint p;
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
p=new Paint();
Bitmap b=BitmapFactory.decodeResource(getResources(), R.drawable.icon);
p.setColor(Color.RED);
canvas.drawBitmap(b, 0, 0, p);
}
public Keypaint(Context context) {
super(context);
}
}