Мне нужно нарисовать линию на карте. Из-за требования специальных эффектов линии мне пришлось создать отдельный растровый рисунок и нарисовать линии на этом растровом изображении, используя временный холст. Теперь, когда он завершает рисование линий, я делаю его на основном холсте. К сожалению, приведенный ниже код не работает для меня.Canvas.drawbitmap не работает
@Override
protected void draw(final Canvas canvas, final MapView mapView, final boolean shadow) {
Bitmap pathBitmap = Bitmap.createBitmap(canvas.getWidth(), canvas.getHeight(), Config.ARGB_4444);
Canvas tempCanvas = new Canvas(pathBitmap);
tempCanvas.drawPath(mPath, this.mPaint);
canvas.drawBitmap(pathBitmap, 0, 0, null);
}
Не мог бы кто-нибудь рассказать мне, что я здесь делаю неправильно?
Обновление: посмотреть, что я делаю неправильно. Я создал новый класс и расширил его с помощью Drawable. В этом классе я переопределяю метод Draw и использовал тот же код только с параметром Canvas, и он работал. Но не знаю, почему он не работает с MapView. Кто-нибудь, пожалуйста, помогите мне?
попытайтесь изменить Config.ARGB_4444 на Config.ARGB_8888 –
Он все еще не работает. – user1294668