2016-02-24 283 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像素寬的圖像。