makaleler / Python Programlama / python ekran görüntüsü alma (screenshot)

python ekran görüntüsü alma (screenshot)

25.01.2011 11:44:40

Pythonda ekran görüntüsü almak için aşağıdaki iki yoldan birini seçebilirsiniz.

Linux uygulamalarında kullanabileyeceğiniz kod Ubuntu için yazdım ve denedim.


Alternatif 1
#!/usr/bin/python
#-*- coding:utf-8 -*-

import gtk.gdk

def ekranGoruntusuAl(sFileName, sFileType):
        w = gtk.gdk.get_default_root_window()
        sz = w.get_size()
        print "Pencerenin boyutu %d x %d" % sz
        pb = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB,False,8,sz[0],sz[1])
        pb = pb.get_from_drawable(w,w.get_colormap(),0,0,0,0,sz[0],sz[1])
        if (pb != None):
                pb.save(sFileName+"."+sFileType, sFileType)
                print "Ekran görüntüsü " + sFileName + "." + sFileType + " olarak kaydedildi."
        else:
                print "Ekran görüntüsü alınamıyor."

ekranGoruntusuAl("ekranresmi", "png")



Windows Uygulamalar için yazdım ve denedim.
Alternatif 2

Öncelikle PIL paketini sistemimiz kurulu değilse kurmalıyız. Genelde Linux ortamlarında bu paket kurulu geliyor, Windows kullanıcısı iseniz http://www.pythonware.com/products/pil/index.htm [pythonware.com] bu adresten gerekli paketleri yükleyebilirsiniz.



# -*- coding: cp1254 -*-
from PIL import ImageGrab
 
def ekranGrountusuAl(sDosyaAdi):
   try:
      resim = ImageGrab.grab()
      adi=sDosyaAdi+".jpg"
      resim.save(adi,'JPEG')
   except:
      print "Hata olustu"
ekranGrountusuAl("ekranresmi")
yazar husonet

Yorumlar

Bu içerik için sizde yorum yapabilirsiniz!
recep
recep
11.07.2016 08:48:26

Paylaşımıniz için teşekkür ederim.Aldığı ekran görüntüsünü nereye alıyor peki? Birde bu paylaştıgınız methodu ben for un ıcınde ekranGrountusuAl(api) dıye cagırabılır mıyım teşekkur ederım.(api yı acmamı ıstersenız soyleyebılırsınız)

Hüseyin ÖZDEMİR
12.07.2016 10:17:26

Aslında ekran görüntüsünü aldığı yer scriptin bulunduğu pathdir. save fonksiyona gönderilen parametre üzerinden path ayarlanabilir. Ayrıca For döngüsü içinde fonksiyonu çağırabilirsiniz. Kolay gelsin...

recep
recep
13.07.2016 15:54:23

pekı ama su anda bu goruntuyu alacak kod olarak gozukmuyor tam almıyor goruntuyu lutfen yardımcı olurmusunuz bana

Hüseyin ÖZDEMİR
13.07.2016 22:52:02

ImageGrab kütüphanesi sisteminize yüklümüdür kontrol edermisiniz? Ayrıca hata mesajı alıyorsanız paylaşırmısınız? Tam almıyor derken kastınız nedir?

anasayfa | makaleler | haberler | dosyalar | linkler | hakkımızda