У меня есть холст, на котором я рисую текст.
(это довольно продвинутый, я надеюсь, что вы можете следовать за мной)
См. Прикрепленное изображение ниже.
Функциональность заключается в том, что я могу нажать на экран, чтобы изменить размер текста.
Нажмите левый экран = меньший шрифт.
Нажмите правый экран = больший шрифт.
Затем я также могу переместитьтекст на экране.
Когда с форматированием текста все в порядке, и я переместил текст туда, куда я хочу,
Затем я хочу сохранить его в исходном растровом изображении.
Я использую options.inSampleSize = 4;
для первоначальной загрузки Bitmap
ImageView с растровым изображением, конечно, меньше исходного изображения.
Необходим какой-то расчет.Это, как правило, довольно сложно сделать.
У меня есть options.inSampleSize = 4
Коэффициент растровых изображений.
Это 0,59, 0,69 в зависимости от ландшафта или портрета.
Я играю с этим, чтобы как-то изменить новое растровое изображение setTextSize
, чтобы оно выглядело так же, как уменьшенное растровое изображение ImageView.
Что я могу сделать здесь?
У меня естьтакое ощущение, что, поскольку никто никогда не знает, какого размера изображение.
Я должен каким-то образом масштабировать / ограничивать коэффициент загруженной битовой карты фиксированным отношением.
Затем мне нужно использовать процент или что-то для передачи текстарасположение к большему изображению.
Я могу сделать это, когда дело доходит до начального (красный шарик на картинке) местоположения.Отсюда и отправная точка текста.
Но я не знаю, как долго текст так застревает, так что говорите и просите совета
Один из способов, которым я пытался, - это разделить paint.getTextSize()
с отношением примерно 0,59.Сначала это выглядело как решение.Но соотношение изображений не фиксировано, а размер шрифта не фиксирован, требуется что-то еще.
Вот две картинки, показывающие проблему.
На растровом изображении телефона:
Сохраненное новое растровое изображение: