draw object/image on canvas
android, bitmap, google-maps
Solution
I prefer to do this as it only generates the image once:
public class CustomView extends View {
private Drawable mCustomImage;
public CustomView(Context context, AttributeSet attrs) {
super(context, attrs);
mCustomImage = context.getResources().getDrawable(R.drawable.my_image);
}
...
protected void onDraw(Canvas canvas) {
Rect imageBounds = canvas.getClipBounds(); // Adjust this for where you want it
mCustomImage.setBounds(imageBounds);
mCustomImage.draw(canvas);
}
}
Problem
Is there another way to draw an object on a canvas in android? This code inside draw() doesn't work: ``` Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.pushpin); canvas.drawBitmap(bmp, screenPts.x, screenPts.y-50, null); ``` Well actually, it's working on my 1st code but when I've transfered this to another class called MarkOverlay, it's not working anymore. ``` markerOverlay = new MarkerOverlay(getApplicationContext(), p); listOfOverlays.add(markerOverlay); ``` What parameter should I pass to MarkerOverlay to make this code work? The error is somewhere in getResources(). FYI, canvas.drawOval is perfectly working but I really want to draw an Image not an Oval. :)