1
У меня есть этот метод, который преобразует изображение. Я сделал это вот так:ImageMagick и проблемы с прозрачностью при преобразовании изображений
/// <summary>
/// Converts any image to png and uploads it to azure
/// </summary>
/// <param name="data">The byte array of the image</param>
/// <returns>The path to the azure blob</returns>
public async Task<string> ConvertImage(byte[] data)
{
// Create our image
using (var image = new MagickImage(data))
{
//// Resize the image
//image.Resize(600, 600);
// Create a new memory stream
using (var memoryStream = new MemoryStream())
{
// Set to a png
image.Format = MagickFormat.Png;
image.VirtualPixelMethod = VirtualPixelMethod.Transparent;
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();
}
}
}
но запустите этот бит кода, созданное изображение не прозрачно, хотя исходный файл есть. Кто-нибудь знает, почему?
Это не работает. Он просто создает прозрачное изображение :( – r3plica
@ r3plica вы можете перегрузить класс MagickImage с растровым изображением. – StartCoding