#kotlin #ktor
#kotlin #ктор
Вопрос:
Я пытаюсь получить изображение с помощью сервера Ktor и обработать его, все библиотеки Android не работают, поскольку они используют такие вещи, как BitmapFactory, java.awt. * , Буферизованные изображения и т. Д. Есть ли у Ktor какой-либо набор инструментов для обработки изображений? Чего я пытаюсь добиться, так это получить изображение и изменить его размер.
Ответ №1:
У Ktor нет ничего конкретного для обработки изображений. Потому что это не обязательно.
BufferedImage
не является библиотекой Android. Это часть java.awt
, и вы можете использовать его в коде Ktor. То же самое для javax.imageio.ImageIO
. Единственная часть, которую вы не можете использовать, — это BitmapFactory
, поскольку она является частью Android SDK.
Что касается части, как получить начальную загрузку (поскольку вы используете Ktor, вероятно, это то, что вы хотите), вы можете посмотреть здесь: https://ktor.io/servers/uploads.html
Это должно работать на Kotlin JVM:
import javax.imageio.*
import java.io.*
fun main() {
val image = ImageIO.read(File(""))
}
Комментарии:
1. Пока безуспешно пытаюсь найти какие-либо порты для следующих библиотек (
2.
javax
является частью стандартного дистрибутива Java. Вам не нужно искать его порты.3. Не удалось использовать его при чистой установке Ktor, неудивительно, что это единственный Kotlin
4. Является ли он родным для Kotlin? Не существует такого понятия, как «только Kotlin», поскольку Kotlin для JVM использует классы Java. Вы можете видеть, что это работает: play.kotlinlang.org /…
5. Вы правы в том, что tor не должен обрабатывать это, поэтому я собираюсь отметить ваш ответ как правильный
Ответ №2:
1 — Получение файла изображения: как указал Алексей Сошин, используйте все, что вам нужно, для чтения / получения изображения
2 — Обработка (изменение размера изображения): использование библиотеки, такой как thumbnailator
см. Пример: