ImageSharp旋转会切断部分图像

时间:2019-01-02 04:36:29

标签: asp.net-core imagesharp

我正在尝试使用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)
})

新图像看起来像被剪掉了。

我已经附加了原始图像以及得到的结果

原文:

enter image description here

旋转:

enter image description here

这似乎发生在我尝试过的所有图像上

1 个答案:

答案 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);来阅读。