我正在尝试使用ImageSharp旋转图像。
这是我的.NET Core API代码:
//play a sound
router.get('/sound/:filename', function(req, res, next) {
var reader = new FileReader()
reader.onload = function(e) {
var arrayBuffer = reader.result;
}
reader.readAsArrayBuffer(req.params.filename)
res.send(arrayBuffer)
})
新图像看起来像被剪掉了。
我已经附加了原始图像以及得到的结果
原文:
旋转:
这似乎发生在我尝试过的所有图像上
答案 0 :(得分:3)
我看过api文档。的ImageSharp,看来它们的库或代码(旋转图像的部分)都没有问题。但是对我来说似乎有趣的是,当您读取字节时,您为要读取的字节设置了一个数字。与其尝试像这样imageBytes = br.ReadBytes(500000);
那样读取,不如尝试读取字节直到流的结尾。为此,请尝试以下代码。
using (BinaryReader br = new BinaryReader(responseStream))
{
imageBytes = br.ReadBytes(int.MaxValue);
br.Close();
}
编辑:
要处理内存不足异常并借助this answer或仅设置br.ReadBytes(stream.Length);
来阅读。