Save QWidget as image

  Peter        2012-08-19 12:01:18       27,744        1          English  简体中文  繁体中文  ภาษาไทย  Tiếng Việt 

Thư viện Qt là một thư viện GUI tuyệt vời cho các lập trình viên C++ được phát triển bởi Nokia và hiện là một dự án mã nguồn mở. Thông thường, chúng ta có thể sử dụng QPainter để vẽ các chuỗi, đường thẳng hoặc hình ảnh trên một QWidget. Chúng ta có thể ghi đè phương thức paintEvent() của QWidget khi muốn sử dụng đối tượng QPianter để vẽ một cái gì đó trên một QWidget.

Nếu chúng ta muốn lưu các mục được vẽ trên QWidget dưới dạng hình ảnh để tham khảo sau này, chúng ta có thể làm gì? Chúng ta có thể lưu một QWidget dưới dạng hình ảnh. Đây là mã để đạt được điều này:

QPixmap pixmap(this->size());

this->render(&pixmap);

pixmap.save("test.png");

Khá đơn giản phải không? Đúng vậy, đây là tất cả các mã bạn cần. Ở đây this đề cập đến bất kỳ con trỏ QWidget nào, nó có một phương thức size() trả về kích thước của QWidget, pixmap sẽ sử dụng giá trị này để tạo hình ảnh có cùng kích thước. Sau đó, chúng ta cần sử dụng phương thức render() để kết xuất nội dung của widget vào đối tượng QPixmap. Cuối cùng, chúng ta cần lưu nội dung đã kết xuất vào một hình ảnh.

Bảng sau đây hiển thị định dạng tệp hình ảnh được hỗ trợ bởi QPixmap.

Định dạngMô tảHỗ trợ của Qt
BMP Windows Bitmap Đọc/ghi
GIF Định dạng trao đổi đồ họa (tùy chọn) Đọc
JPG Nhóm chuyên gia nhiếp ảnh chung Đọc/ghi
JPEG Nhóm chuyên gia nhiếp ảnh chung Đọc/ghi
PNG Đồ họa mạng di động Đọc/ghi
PBM Bitmap di động Đọc
PGM Bản đồ xám di động Đọc
PPM Pixmap di động Đọc/ghi
XBM X11 Bitmap Đọc/ghi
XPM X11 Pixmap Đọc/ghi

C++  IMAGE  QT  QWIDGET 

       

  RELATED


  1 COMMENT


Anonymous [Reply]@ 2018-09-22 18:48:07

Great stuff!



  RANDOM FUN

Drinking is really a good way of decompression