Intereting Posts
Как показать PopupWindow всегда над кнопкой (просмотр)? Android SDK Build Tool Несколько версий Android NumberPicker обертывает значения при изменении отображаемых значений Контекст в предпочтении RecyclerView findViewHolder null для элементов вне экрана Декодирование изображений и манипуляции с использованием JNI на Android Android заменит текущий фрагмент другим фрагментом Android Bluetooth Bluetooth Bluetooth Low Energy Как предотвратить андроидное приложение от обновления из Google Play Store? Загрузите Unsuccessful на Mobile Browser (Android) при использовании cfheader и cfcontent в Coldfusion Как центрировать расширенный заголовок в CollapsingToolbarLayout Обнаружение, когда экран заблокирован Поддержка языковой поддержки Android для индийских региональных языков (Kannada, Tamil и т. Д.) Невозможно включить заголовки C ++, такие как вектор в Android NDK Получение ошибки сборки при обновлении до градиента 3.3 и инструментов сборки Android 2.3.0

Использование холста и растрового изображения в Android, как получить это изображение?

Я новичок в android. Я пытаюсь сделать это изображение (статистика матча) Введите описание изображения здесь И заполните изображение цветом с 10% до 100%. Я много пробовал, и это изображение Введите описание изображения здесь

Это код

public class DrawView extends View { Paint paint = new Paint(); public DrawView(Context context) { super(context); } @Override public void onDraw(Canvas canvas) { paint.setColor(Color.BLACK); paint.setStrokeWidth(3); canvas.drawRect(30, 30, 100, 100, paint); paint.setStrokeWidth(0); paint.setColor(Color.GRAY); canvas.drawRect(33, 60, 97, 97, paint); paint.setColor(Color.WHITE); canvas.drawRect(33, 33, 97, 60, paint); } 

Любое предложение будет очень полезно для меня. Заранее спасибо.

Solutions Collecting From Web of "Использование холста и растрового изображения в Android, как получить это изображение?"

Я бы подготовил два изображения – полностью заполненный и не заполненный (только удар). Имея это, загрузите их как два объекта Bitmap а затем выполните следующие действия:

 float fillProgress = 0.1f; // let's say image is 10% filled canvas.drawBitmap(onlyStroke, 0f, 0f, null); // draw just stroke first canvas.save(); canvas.clipRect( 0f, // left getHeight() - fillProgress * getHeight(), // top getWidth(), // right getHeight() // bottom ); canvas.drawBitmap(filled, 0f, 0f, null); // region of filled image specified by clipRect will now be drawn on top of onlyStroke image canvas.restore(); 

Использование двух изображений, обозначенных и заполненных, например, ниже.

Введите описание изображения здесь Введите описание изображения здесь

Вышеприведенный код делает следующее:

  1. Нарисовать схему.
  2. Примените область клипа (растение).
  3. Нарисовать заполненную форму с нанесенной культурой.
  4. Удалить клип, изображение по желанию.

Введите описание изображения здесь

Применяя разные размеры клипов, вы можете получить% от заполнения, которое вам нужно. например

Введите описание изображения здесь