[Python 3] Chụp ảnh Screenshot màn hình Gnome Desktop với GTK+3


Ở bài viết trước, mình đã hướng dẫn các bạn screenshot màn hình Desktop sử dụng thư viện PyAutoGUIOpenCV trong Python 3. Tiếp nối series về lập trình Python 3 thì bài này sẽ sử dụng thư viện GTK+3 để chụp ảnh màn hình Gnome Desktop

Cài đặt Python Module (Ubuntu 16.04)

Đầu tiên mở Terminal trên Ubuntu và cài các package sau:

sudo apt install libgirepository1.0-dev gcc libcairo2-dev pkg-config python3-dev gir1.2-gtk-3.0

Để cài đặt các Python Module cần thiết sử dụng pip3

pip3 install pycairo
pip3 install PyGObject

Chụp ảnh màn hình Desktop sử dụng GTK+3

– Chụp ảnh full màn hình Desktop (Screenshot full screen)

import gi

gi.require_version('Gtk', '3.0')
gi.require_version('Gdk', '3.0')
from gi.repository import Gdk

# full screenshot
window = Gdk.get_default_root_window()
pb = Gdk.pixbuf_get_from_window(window, *window.get_geometry())
pb.savev("full.png", "png", (), ())

– Chụp ảnh tất cả các sửa sổ trên màn hình Desktop

import gi

gi.require_version('Gtk', '3.0')
gi.require_version('Gdk', '3.0')
from gi.repository import Gdk

# screenshots for all windows
window = Gdk.get_default_root_window()
screen = window.get_screen()
typ = window.get_type_hint()
for i, w in enumerate(screen.get_window_stack()):
    pb = Gdk.pixbuf_get_from_window(w, *w.get_geometry())
    pb.savev("{}.png".format(i), "png", (), ())

– Chụp ảnh cửa sổ đang active trên màn hình

import gi

gi.require_version('Gtk', '3.0')
gi.require_version('Gdk', '3.0')
from gi.repository import Gdk

# screenshot active window
screen = Gdk.get_default_root_window().get_screen()
w = screen.get_active_window()
pb = Gdk.pixbuf_get_from_window(w, *w.get_geometry())
pb.savev("active.png", "png", (), ())

Nguồn: vinasupport.com

 

 

             
SHARE

Bài viết liên quan

mode_edit Bình luận của bạn

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

account_circle
web