【问题标题】:Process Images and resize them on a Ktor server在 Ktor 服务器上处理图像并调整它们的大小
【发布时间】:2019-04-15 16:46:59
【问题描述】:

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

【问题讨论】:

    标签: kotlin 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(""))
    }
    

    【讨论】:

    • 试图找到以下库的任何端口,但到目前为止没有运气(
    • javax 是标准 Java 发行版的一部分。你应该不需要找到它的端口。
    • 无法在干净的 Ktor 安装中使用它,这并不奇怪它唯一的 Kotlin
    • 是 Kotlin Native 吗?没有“只有 Kotlin”这样的东西,因为 JVM 的 Kotlin 使用 Java 类。你可以看到它有效:play.kotlinlang.org/…
    • 你是对的,这是不应该处理的事情,所以我会把你的答案标记为正确的
    【解决方案2】:

    1 - 接收图像文件:就像 Alexey Soshin 指出的那样,使用适合您需要的任何内容来读取/获取图像

    2 - 处理(调整图像大小):使用库,例如​​thumbnailator

    参见示例:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-19
      • 1970-01-01
      • 2015-06-09
      • 1970-01-01
      • 1970-01-01
      • 2012-02-16
      相关资源
      最近更新 更多