2012-03-30 23 views
7

Silverlight 5 uygulamasından bir alt sınıf XNA DrawingSurface öğesinin ekran görüntüsünü almaya çalışıyorum. Bu sl uygulaması bir aspx sayfası içinde çalışacaktır.Silverlight 5/xna ile ekran görüntüsü al

Burada başarılı olamadı şimdiye kadar çalıştığım buydu: LayoutRoot silverlight sayfasında ebeveyn kontrolü olmak ve testImage ekran görüntüsü doğru olup olmadığını görmek için sayfadaki sadece bir Görüntü kontrolüdür ile

WriteableBitmap bmp = new WriteableBitmap(LayoutRoot, null); 
testImage.Source = bmp; 

.

Bu işlem, sayfadaki tüm silverlight denetimlerini iyi hale getirecektir, ancak çizim yüzeyi kısmı boş kalır. Başka bir deyişle, XNA içeriği görüntüye işlenmez.

Ayrıca XNA içeriğini bir RenderTarget2D'ye oluşturmayı denedim, ancak render hedefinin silverlight sürümü, verileri kaydetmek için herhangi bir yönteme sahip görünmüyor. SaveAsJpeg() adlı bir yöntem kullanan bazı WP7 örneklerini gördüm, ancak sınıfın SL5 sürümünde mevcut görünmüyor.

Bu konuda herhangi bir yardım için minnettarım.

Greets,

Floris

+0

Ve sınıf Texture2D bazı kaydet yöntemine sahip? – EdgarT

cevap

1

Bir olasılık RenderTarget2D halinde ekrana çizmek ve daha sonra benzeri bir yöntem SaveAsPng kullanmak olacaktır:

using (Stream stream = File.OpenWrite("filename.png")) 
{ 
renderTarget2D.SaveAsPng(stream, renderTarget2D.Width, renderTarget2D.Height); 
} 
+0

Pencereler için gereksiz yanıt. Soru, pencereler için SL5'te bitmap'in nasıl alınacağıdır? SaveAsPng yöntemi mevcut değil! Herhangi bir fikir? –

İlgili konular