我正在开发一个使用Sharp处理照片的应用程序。目前,当我们调整大小,然后使用锐调整大小和 toBuffer 写入缓冲图像时,默认情况下,两者都会擦除 EXIF 数据。我们想要删除除方向之外的所有元数据(如果存在)。
我已经阅读了 Sharp 的文档,withMetadata 似乎是实现我想要的目标的候选者,问题是 withMetadata 保留了所有元数据,而我只想要原始图像的方向。
原来的代码行是
await this.sharpInstance.resize(maxDimension, maxDimension).max().toBuffer()
我想我想要的是这样的
await this.sharpInstance.withMetadata().resize(maxDimension, maxDimension).max().withMetadata().toBuffer()
但仅适用于方向元数据。
我真的很感激一些帮助来解决这个问题。非常感谢!
我是Scala语言的新手,我试图定义一个可以翻转其参数的基本函数,我这样定义它:
var flipArguments = ((a: Any, b: Any) => Any ) => ((b: Any, a: Any) => Any)
但是我遇到了一个编译错误,该错误突出显示了带有消息的第二个箭头
';' or newline expected
Run Code Online (Sandbox Code Playgroud)
而且我不明白我在哪里犯语法错误。