Windows Phone uygulaması ile ekran görüntüsü almak

Bazı durumlarda Windows Phone için geliştirdiğimiz uygulamanın o andaki ekran görüntüsünü almamız gerekebilir, örneğin bir hata oluştuğu andaki ekran görüntüsü ilgili alanlara girilmiş verileri görebilmeyi sağlayacağı için çok kullanışlı olacaktır.

Aşağıdaki CaptureScreen() method’u her çağırıldığında ekran görüntüsü alınacak ve ekrangoruntuleri dizinine o anın dosya adı ile kaydedilecek;

İlk olarak TranslateTransform sınıfından yeni bir değişken oluşturuyoruz.

Ekran görüntüsü alacağımız nesneyi belirlediğimiz ikinci satırda Application.Current.RootVisual özelliğini kullanarak ekranın tamamının görüntüsünün alınmasını sağlıyoruz.

Öncelikle bir WritableBitmap değişkeni oluşturuyoruz ve RootVisual özelliği sayesinde tüm ekranın bu değişkene Render edilmesini sağlıyoruz.

MemoryStream tipinde yeni bir değişken oluşturarak WriteableBitmap değişkenimizin içeriğini hafızaya taşıyoruz.

IsolatedStorageFile sınıfının GetUserStoreForApplication() methodunu kullanarak uygulamamıza ait olan disk alanına erişiyoruz ve ekrangoruntuleri isminde bir dizin olup/olmadığını DirectoryExists() methodu ile kontrol ediyoruz.

Eğer dizini bulamazsak CreateDirectory() methodunu kullanarak ilgili dizini oluşturuyoruz.

Son olarak CreateFile() methodu ile ekrangoruntuleri dizininde yeni bir dosya oluşturuyoruz ve MemoryStream değişkenindeki görüntüyü kaydediyoruz.

blog comments powered by Disqus

Engin Polat hakkında

Senior Software Engineer, @Microsoft

Ada ve Ege'nin babası ;)

Kategoriler

İstatistik

Makale Adedi: 484

Creative Commons Lisansı