20 Temmuz 2014 Pazar

Cordova/Phonegap ile Ekran görüntüsü almak

Bu yazıda Cordova ile uygulamanın ekran görüntüsünü almak için kullandığım bir plugini anlatacağım.

Kullanımı basit, ilk önce projemize ekleyelim.
$ cordova plugin add https://github.com/gitawego/cordova-screenshot

Kullanımı


Plugin save ve URI metodlarından oluşuyor.

save

navigator.screenshot.save(function(error,res){
  if(error){
    console.error(error);
  }else{
    console.log('dosya yolu: ',res.filePath);
  }
});

Bu metoda 2 parametre alan callback fonksiyon göndermek ekran görüntüsünü alabilmek için yeterli. İlk parametre eğer hata oluşmuşsa onu gösterir, ikincisi de sonucu döner. Dosya yolunu res.filePath  şeklinde alabiliyoruz.

Resimler android için /sdcart/Pictures dizinine kaydediliyor.

Callback fonksiyonun yanında kaydedilecek dosya türü , çözünürlük kalitesi ve dosya ismi  değerlerini de gönderebiliriz.

navigator.screenshot.save(function(error,res){
  if(error){
    console.error(error);
  }else{
    console.log('dosya yolu: ',res.filePath);
  }
},'jpg',50,'resimAdi');

Bu metodu ios ve android de kullanabiliyoruz.

URI

Her zaman ekran görüntüsünü telefona kaydetmek istemeyebilirsiniz.Sadece data URI olarak alıp öyle kullanmanız gerekli olabilir. Bunu da plugine eklediğim URI metodu ile yapıyoruz.


navigator.screenshot.URI(function(error,res){
  if(error){
    console.error(error);
  }else{
    html = '<img src="'+res.URI+'" style="width: 50%;">';
    document.body.innerHTML = html;
  }
},50);

URI metodu bir callback fonksiyonu ve  kalite değerini alıyor. Bize gelen res.URI resim verisini img etiketi ile kullanıcıya gösterebileceğimiz gibi, server'a da bir string değer yolluyormuşuz gibi de yollayabiliriz.

Bu metodu ise şimdilik sadece android de kullanabiliyoruz. Umarım yakın zamanda ios için de implement edecek biri çıkar.

Hiç yorum yok:

Yorum Gönder