Intereting Posts
Как диагностировать ошибку «Ошибка выполнения aapt» в Eclipse? Зарегистрировать ContentObserver в приложении Application.OnCreate () VS Service GdxRuntimeException на Android: невозможно загрузить общую библиотеку gdx для целевой String добавляет формат в android Не удается открыть расширение пользовательского файла Лучший способ кэширования данных на Android Изменение ориентации Bluestack: портретный / альбомный режим Android: добавление кнопки обновления Разница между setTranslationX / Y и offsetLeftAndRight / offsetTopAndBottom? Как программно определить, подключено ли устройство Bluetooth? (Android 2.2) Должен ли я строго избегать использования перечислений на Android? Получение ошибки «Предоставленный API-ключ» с ошибкой при использовании API-интерфейсов Places Зависимости Android-библиотеки, поврежденные после SDK / ADT-обновления Высота изображения в виде обертывания отображаемого изображения Цвет текста текста настроек Android из java-кода

Использование холста и растрового изображения в 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. Удалить клип, изображение по желанию.

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

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

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