2016-02-24 98 views
0

我有一些代码来转换图像,现在正在工作,但生成的图像的宽度非常小。我想强制它使用600px的宽度。 我的代码如下所示:Magick.Net调整图像大小

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像素宽。 有谁知道为什么以及如何修复它?

回答

0

使用当前版本的Magick.NET,这是预期的行为。但看到你的帖子后,我们对ImageMagick/Magick.NET进行了一些更改。使用Magick.NET 7.0.0.0103及更高版本,您将得到一张适合您使用宽度和高度指定范围内的图像。所以当你指定600的宽度时,你会得到600像素宽的图像。