将背景透明的图片上传到 azure blob 显示黑色背景的图片

问题描述

using (var memoryStream = new MemoryStream())
            {
                await image.copyToAsync(memoryStream);
                using (var img = System.Drawing.Image.FromStream(memoryStream))
                {

                    var bytesImage = Utilities.ImagetoByteArray(img,ImageFormat.Jpeg);

                    using (MemoryStream memstr = new MemoryStream(bytesImage))
                    {
                        await blob.UploadFromStreamAsync(memstr);
                    }

                }
            }

上面的代码用于上传文件到blob存储,图像像这样透明

Image

上传后,结果是这样的黑色背景

After_Upload_To_blob_storage

解决方法

请关注@Franz Gleichmann 的回答, “好吧,您将图片转换为 Jpg - 一种不支持透明度的格式。除了选择另一种格式之外,您无能为力”