在 Ktor 服务器上处理图像并调整它们的大小

Process Images and resize them on a Ktor server

我正在尝试使用 Ktor 服务器接收图像并对其进行处理,所有 Android 库都无法正常工作,因为它们使用诸如 BitmapFactory、java.awt.*、缓冲图像之类的东西等等。 Ktor 是否有一套工具来处理图像? 我想要实现的是接收图像并调整它的大小。

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 - 接收图像文件:正如 Alexey Soshin 指出的那样,使用适合您需要的任何东西 read/get 图像

2 - 处理(调整图像大小):使用 thumbnailator

等库

参见示例: