Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wordpress-seo domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vinascript/html/wp-includes/functions.php on line 6114
Chụp ảnh Screenshot màn hình Gnome Desktop với GTK+3 trong Python 3 - VinaScript

Latest Post

Triển khai dự án PHP, Mysql với Nginx trên Docker Tìm hiểu về HTML – Ưu điểm, nhược điểm và cách hoạt động của HTML

Trong bài viết trước, mình đã hướng dẫn cách chụp màn hình Desktop bằng Python 3, sử dụng thư viện PyAutoGUI và OpenCV. Tiếp tục chuỗi bài viết về lập trình Python 3, trong bài này, chúng ta sẽ khám phá cách chụp ảnh màn hình trên Gnome Desktop bằng cách sử dụng thư viện GTK+3.

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", (), ())

Để lại một bình luậ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 *