Intereting Posts
О изображении и размерах Android Тестирование на Android-устройство: Bundle / Parcelable OAuthException при попытке публикации в стене друзей UnableToResolveError: невозможно разрешить модуль `merge` из библиотек / ART / React Native ART.js Как изменить предпочтительный тип сети над adb android? Как отключить / скрыть трехточечный индикатор (индикатор меню опций) на телефонах ICS Как можно получить доступ к методу NotificationListenerService? Github – зафиксировать ошибку после переименования пакета в приложении android: LibGit2Sharp.LockedFileException: индекс заблокирован Как использовать AsyncTask для отображения ProgressDialog во время фоновой работы в Android? Воспроизведение RTSP в приложении для Android Как обнаружить программно, если «Android-приложение» работает в хромированной книге или на телефоне Android Не удается найти R.layout.activity_main Android – Как получить представление из контекста? Не найден ресурс, который соответствует указанному имени: attr 'android: actionModeShareDrawable' appcompat-v7: 21.0.0 с compileSdkVersion 21 Android 4.4.X: taskAffinity & launchmode vs. Жизненный цикл активности

Показать маркер внутри ресурса, который можно извлечь из URL-адреса

Карта, показывающая uers

Вот страница карты, которую я имею, которая показывает всех пользователей моего приложения. Также изображения (маркеры) получаются из URL-адреса, указанного на моем сервере. Эти маркеры должны помещаться внутри Drawable (круг, как показано на рисунке). Я создал круг, как Bitmap, из URL, используя Canvas.

public Drawable showMe(String url) { Bitmap bitmap=null; try { URL newurl = new URL(url); bitmap = BitmapFactory.decodeStream(newurl.openConnection().getInputStream()); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } bitmap=getBitmap(url); Paint paint = new Paint(); paint.setFilterBitmap(true); int targetWidth = 30; int targetHeight = 30; Bitmap targetBitmap = Bitmap.createBitmap(targetWidth, targetHeight,Bitmap.Config.ARGB_8888); RectF rectf = new RectF(0, 0, 30, 30); Canvas canvas = new Canvas(targetBitmap); Path path = new Path(); path.addRoundRect(rectf, targetWidth, targetHeight, Path.Direction.CW); canvas.clipPath(path); canvas.drawBitmap( bitmap, new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()), new Rect(0, 0, targetWidth, targetHeight), paint); Matrix matrix = new Matrix(); matrix.postScale(1f, 1f); Bitmap resizedBitmap = Bitmap.createBitmap(targetBitmap, 0, 0, 30, 30, matrix, true); Bitmap bitmap_circle=mergeBitmaps(resizedBitmap); BitmapDrawable bd = new BitmapDrawable(bitmap_circle); return bd; } 

Вышеупомянутая функция создаст окончательный вариант для маркера. Также функция mergeBitmaps () объединит как ресурс, так и карту бит вместе.

 public Bitmap mergeBitmaps(Bitmap manBitmap){ try{ Bitmap markerBitmap = BitmapFactory.decodeResource( this.getResources(), R.drawable.circle_bg); Bitmap bmOverlay = Bitmap.createBitmap(markerBitmap.getWidth(), markerBitmap.getHeight(), markerBitmap.getConfig()); Canvas canvas = new Canvas(bmOverlay); Matrix matrix = new Matrix(); matrix.postScale(1f, 1f); canvas.drawBitmap(markerBitmap, matrix, null); canvas.drawBitmap(manBitmap, 5, 5, null); return bmOverlay; } catch(Exception ex){ ex.printStackTrace(); return null; } } 

Но проблема в том, что это растровое изображение не лучше всего подходит в фоновом режиме Drawable, чтобы получить ощущение, что оба вместе дадут одно изображение.

Может кто-нибудь мне помочь ?

Solutions Collecting From Web of "Показать маркер внутри ресурса, который можно извлечь из URL-адреса"