从图像到base64的转换,System.drawing.image

X-M*_*Mat 5 c# windows windows-phone-8

我在 Windows Phone 8 应用程序中使用 C#,我需要将一张图像转换为 Base 64。我使用以下代码:

public string ImageToBase64(Image image, System.Drawing.Imaging.ImageFormat format)
    {
        using (MemoryStream ms = new MemoryStream())
        {
            // Convert Image to byte[]
            image.Save(ms, format);
            byte[] imageBytes = ms.ToArray();

            // Convert byte[] to Base64 String
            string base64String = Convert.ToBase64String(imageBytes);
            return base64String;
        }
    }
Run Code Online (Sandbox Code Playgroud)

但它返回此错误:系统名称空间中不存在绘图名称的名称和类型,可能没有程序集引用。

我尝试安装 ddl,但不行。

Oli*_*yen 7

您尝试使用的代码无法在 Windows Phone 上运行,因为它使用程序集中的类System.Drawing,而该平台在该平台上不可用。

尝试使用以下示例代码:

public string GetBase64(Image image)
{
    byte[] bytearray;
    using (MemoryStream ms = new MemoryStream())
    {
        WriteableBitmap wb = new WriteableBitmap((BitmapImage)image.Source);
        wb.SaveJpeg(ms, wb.PixelWidth, wb.PixelHeight, 0, 100);
        bytearray = ms.ToArray();
    }
    return Convert.ToBase64String(bytearray);
}
Run Code Online (Sandbox Code Playgroud)