2013-05-31 32 views
6

Tôi đang cố gắng đọc một hình ảnh từ tài nguyên chỉ có tệp DLL. Tôi có thể đọc tên hình ảnh và byte hình ảnh, nhưng Làm cách nào để đặt điều khiển Image để phát bộ đệm? Ở dạng cửa sổ, tôi biết tôi có thể sử dụng điều này:IO.Stream to Image trong WPF

pictureBox1.Image=new System.Drawing.Bitmap(IOStream); 

vì không có không gian tên Vẽ trong wpf, làm sao tôi có thể đạt được điều tương tự?

+0

Có, chỉ cần thêm tham chiếu đến System.Drawing.dll bằng hộp thoại "Thêm tham chiếu" VS –

Trả lời

3

Trong WPF, bạn có thể có phần tử Image trong xaml của mình. Source có thể là BitmapImage. Bạn có thể ràng buộc một BitmapImage từ ViewModel của mình, nơi bạn có thể tạo một cá thể từ một số Stream như this.

13

Trong WPF, bạn có thể đặt Source tài sản của một Image, như trong ví dụ này:

Image image = new Image(); 
using (MemoryStream stream = new MemoryStream(byteArray)) 
{ 
    image.Source = BitmapFrame.Create(stream, 
             BitmapCreateOptions.None, 
             BitmapCacheOption.OnLoad); 
} 

đâu byteArray là mảng byte với nguồn gốc của hình ảnh.

+0

@TanujWadhwa Xin lỗi, tôi đã hiểu nhầm câu hỏi, đã chỉnh sửa để phản ánh điều này. –

+0

những gì tôi đang tìm kiếm. – HXD