Magick.Net 调整图像大小



我有一些代码来转换图像,现在可以工作了,但是生成的图像的宽度真的很小。我想强制它使用 600px 的宽度。我的代码如下所示:

public async Task<string> ConvertImage(byte[] data)
{
    // Create our settings
    var settings = new MagickReadSettings
    {
        Width = 600
    };
    // Create our image
    using (var image = new MagickImage(data, settings))
    {
        // Create a new memory stream
        using (var memoryStream = new MemoryStream())
        {
            // Set to a png
            image.Format = MagickFormat.Png;
            image.Write(memoryStream);
            memoryStream.Position = 0;
            // Create a new blob block to hold our image
            var blockBlob = container.GetBlockBlobReference(Guid.NewGuid().ToString() + ".png");
            // Upload to azure
            await blockBlob.UploadFromStreamAsync(memoryStream);
            // Return the blobs url
            return blockBlob.StorageUri.PrimaryUri.ToString();
        }
    }
}

我上传的图像是一个 AI 文件,但转换时它只有 64px 宽。有谁知道我为什么以及如何修复它?

对于当前版本的 Magick.NET,这是预期的行为。但是在看到您的帖子后,我们对ImageMagick/Magick.NET进行了一些更改。使用 Magick.NET 7.0.0.0103 及更高版本,您将获得适合您使用"宽度"和"高度"指定的边界的图像。因此,当您指定宽度为 600 时,您将获得一个 600 像素宽的图像。

相关内容

  • 没有找到相关文章

最新更新