Magick.Net调整图像大小

时间:2016-02-24 12:12:51

标签: c# imagemagick 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文件,但转换后只有64像素宽。 有谁知道为什么以及如何解决它?

1 个答案:

答案 0 :(得分:0)

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