Как установить цвет фона изображения, но в пределах границы? - PullRequest
0 голосов
/ 08 октября 2018

Моя цель - отобразить круглое изображение и позволить пользователю установить его цвета foreground и background соответственно, например:

desired output

Моя попытка состояла в том, чтобы создать актив изображения с прозрачным фоном, затем использовать ImageView::setColorFilter, чтобы изменить его передний план, и использовать ImageView::setBackgroundColor, чтобы установить его фон.Актив изображения выглядит следующим образом:

my attempt

Моя проблема состоит в том, что пиксели за пределами того, что мы, люди, называем «границей», такжепрозрачный, поэтому результат выглядит следующим образом:

undesired result

Как люди обычно решают эту проблему?Хотя я занимался разработкой для Android, но любые идеи или фрагменты кода на любом языке приветствуются!

1 Ответ

0 голосов
/ 08 октября 2018

сначала вы должны создать новый файл для рисования и написать ниже код для создания круга с желтым цветом с синей рамкой:

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
     android:shape="oval">

     <solid android:color="#cab816" />


     <size android:width="50dp"
      android:height="50dp"/>

     <stroke android:width="2dp"
      android:color="@color/darkBlue"/>
     </shape>

и теперь вы должны установить этот объект на фон вашегоimageview и установите ваше изображение с помощью src.

, если ваше изображение охватывает весь этот круг, используйте отступы для уменьшения размера изображения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...