Уже три дня я ищу (и тестирую) библиотеки, которые могут выполнять генерацию изображения из текстового контента. Я разрабатываю приложение для Android с помощью дополненной реальности Metaio SDK. Чтобы применить текстуру с текстом и встроенным изображением, я должен создать файл PNG. Итак, мне нужен метод:
- Совместимость с Android
- На клиенте для Android: не создается PNG на сервере.
- С правильным способом, таким как html/css, svg или макет Android, например: т.е. не нужно делать выравнивание текста и позиционирование поля с нуля, я уверен, вы понимаете, почему x)
- Который может выполнять генерацию во внешнем потоке (т.е. без просмотра макета пользователем)
Я пробовал много решений, но ничего не работает.
Использование WebView
Некоторые темы по этому поводу:
- Создать растровое изображение из HTML в Android
- Как использовать onDraw(Canvas) для получить [...]
- Преобразование HTML в изображение (любого формата) на Android
- Захват изображения веб-просмотра Android и сохранение в png/jpeg
- Что может заменить функцию capturePicture
- Захват изображения из WebView
В конечном счете, onPageFinished недостаточно, и мы должны реализовать:
webView.setPictureListener(new PictureListener()
{
@Override
public void onNewPicture(WebView view, Picture picture)
{
[...]
Он работает, но он устарел, и WebView должен быть виден, если я хочу сгенерировать png, и мне это не подходит.
Использование макета Android
Некоторые темы по этому поводу:
- Как сделать Я конвертирую RelativeLayout [...]
- Преобразование представления в растровое изображение без его отображения в Android?< /а>
- Проблемы Android с преобразованием ViewGroup с дочерними элементами в растровое изображение
- преобразовать представление в растровое изображение [дубликат]
Опять же, у меня должно быть видимое представление, чтобы сгенерировать из него PNG.
Использование svg-android
Некоторые темы по этому поводу:
Это работает, но есть только основные функции: включить текст, изображение или изображение data-uri не работают.
Использование батика
Растеризатор SVG и его использование.
Работает, но не на Android.
Преобразование в формат Dalvik не удалось с ошибкой 1