簡體   English   中英

c#uwp winrt圖像或位圖圖像到base64

[英]c# uwp winrt Image or Bitmap Image to base64

BitmapImage bitmap = new BitmapImage(new Uri(“ms-appx:///Assets/Video.png”));

我試圖將位圖圖像轉換為base64到通用app上的字符串。有任何想法它是怎么回事?

您必須將圖像轉換為字節。 然后你可以調用Convert.ToBase64String。

這有幾個很好的信息來源:

在Windows運行時讀取和寫入Base64

Codepaste

總結一下, 要將Image轉換為base64 ,您應該能夠使用以下方法:

        var bitmap = new RenderTargetBitmap();
        await bitmap.RenderAsync(ImageControl);

        var image = (await bitmap.GetPixelsAsync()).ToArray();
        var width = (uint) bitmap.PixelWidth;
        var height = (uint)bitmap.PixelHeight;

        double dpiX = 96;
        double dpiY = 96;

        var encoded = new InMemoryRandomAccessStream();
        var encoder = await BitmapEncoder.CreateAsync(BitmapEncoder.PngEncoderId, encoded);

        encoder.SetPixelData(BitmapPixelFormat.Bgra8, BitmapAlphaMode.Straight, width, height, dpiX, dpiY, image);
        await encoder.FlushAsync();
        encoded.Seek(0);

        var bytes = new byte[encoded.Size];
        await encoded.AsStream().ReadAsync(bytes, 0, bytes.Length);

        var base64String = Convert.ToBase64String(bytes);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM