2016-02-24 2 views
0

У меня есть код для преобразования изображения, которое работает сейчас, но ширина создаваемого изображения действительно мала. Я хотел бы заставить его использовать ширину 600 пикселей. Мой код выглядит следующим образом:Magick.Net resize image

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 в ширину. Кто-нибудь знает, почему и как я могу это исправить?

ответ

0

С текущей версией Magick.NET это ожидаемое поведение. Но, увидев ваш пост, мы внесли некоторые изменения в ImageMagick/Magick.NET. С Magick.NET 7.0.0.0103 и выше вы получите изображение, которое вписывается в границы, которые вы указываете с помощью Width и Height. Поэтому, когда вы укажете ширину 600, вы получите изображение шириной 600 пикселей.