簡體   English   中英

Silverlight 4:將圖像轉換為byte []

[英]Silverlight 4 : Converting image into byte[]

我已經在.NET 4.0中找到了如何做到這一點,但我認為Silverlight中不存在JpegBitmapEncoder:

MemoryStream memStream = new MemoryStream();              
JpegBitmapEncoder encoder = new JpegBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(imageC));
encoder.Save(memStream);
var bytes = memStream.GetBuffer();

如何在silverlight中將圖像轉換為bytes []?

更新:

我有一個Contact模型,它有一個Photo屬性。 每當我添加一個新的聯系人時,我想加載一個本地默認圖像並將其轉換並將Photo屬性設置為它。

var bitmapImage = new BitmapImage
                            {
                                UriSource = new Uri("pack://application:,,,/xxx;component/Images/default.JPG")
                            };
            var image = new Image{Source = bitmapImage};

這是首先加載圖像的正確方法嗎?

使用

myImage.Save(memStream, ImageFormat.Jpeg);
return memStream.ToArray();

UPDATE

好的,事實證明圖像是BitmapImage

似乎BitmapImage沒有公開保存圖像的功能。 解決方案是從嵌入式資源中獲取圖像:

Stream s = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourcePath);
byte[] buffer = new byte[s.Length];
s.Read(buffer, 0, buffer.Length);

看看這個庫: Imagetools

它包含一些不錯的實用程序和jpg和png編碼器,

暫無
暫無

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

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