Повысить качество рисования кеша - Android

Я разработал графический редактор Activity для добавления текста к изображению с помощью метода getDrawingCache() для создания изображения TextView.

Однако, кажется, есть проблема, которую я раньше не рассматривал. Метод getDrawingCache() возвращает растровое изображение, которое имеет ту же ширину и высоту, что и экран устройства. В результате растровое изображение имеет более низкое разрешение на небольших устройствах, что особенно заметно, если его просматривать на большем устройстве.

Таким образом, можно определить фиксированную ширину и высоту для результирующего растрового изображения getDrawingCache()? Или я должен использовать другой подход, чтобы добавить текст к изображению?

1 ответ

View Drawing Cache возвращает только растровое изображение с размером, соответствующим тому, как показано на экране.

Вы можете использовать setDrawingCacheQuality, чтобы улучшить его, но размер будет таким же.

Для того, чего вы пытаетесь достичь, вероятно, было бы лучше поработать с холстом, подкрепленным целевой картинкой, и использовать метод drawText в сочетании с классом TextPaint.

С другой стороны, учтите, что View Drawing Cache устарел, начиная с Android API 28, поэтому любой другой подход, отличный от использования Drawing Cache, будет более удачным вариантом.

Другие вопросы по тегам