簡體   English   中英

在 C# WPF 上將 ImageSource 轉換為字符串

[英]Converting ImageSource to String on C# WPF

ESRI 符號庫很慢,有時需要比預期更長的時間。

我希望將選定的 ImageSource 范圍序列化為緩存、memory 或文件中的字符串。

我已經搜索了 web 但在 ImageSource 上搜索的不多。

我發現一個有趣的事情是“ImageSourceValueSerializer”。

作為 WPF 中一個 3 個月大的嬰兒,我不太清楚如何 go 關於這個。

這是我獲得 ImageSource 的方式:

MultilayerPointSymbol multiLayerSym = await result.GetSymbolAsync() as MultilayerPointSymbol;
RuntimeImage swatch = await multiLayerSym.CreateSwatchAsync();
ImageSource symbolImage = await swatch.ToImageSourceAsync();

檢查 ImageSource 是否為 BitmapSource 並通過 BitmapEncoder 之一對 BitmapSource 進行編碼。 編碼成 MemoryStream 或 FileStream。

if (symbolImage is BitmapSource bitmapSource)
{
    var encoder = new PngBitmapEncoder();
    encoder.Frames.Add(BitmapFrame.Create(bitmapSource));

    using (var stream = new MemoryStream())
    {
        encoder.Save(stream);

        var bytes = stream.ToArray();
    }
}

暫無
暫無

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

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