画像の拡大縮小
概要
Gdk::Pixbufを使用して画像の拡大縮小表示をする。staticな関数であるGdk::Pixbuf::create_from_file()を使用してファイルから 画像データを読み込みGdk::Pixbufを作る。それを拡大縮小してからGtk::Image::set()を 使ってGtk::Imageに貼り付ける。
ソース
pixbuf.cpp#include <gtkmm.h> class MainWin : public Gtk::Window { Gtk::Image m_img; Glib::RefPtr< Gdk::Pixbuf > m_pixbuf; public: MainWin(); }; MainWin::MainWin() { m_pixbuf = Gdk::Pixbuf::create_from_file( "./test.png" ); m_img.set( m_pixbuf->scale_simple( m_pixbuf->get_width()/2, m_pixbuf->get_height()/4, Gdk::INTERP_NEAREST ) ); add( m_img ); show_all_children(); } int main( int argc, char *argv[] ) { Gtk::Main kit( argc, argv ); MainWin mainwin; Gtk::Main::run( mainwin ); return 0; }
コンパイル
必要なコンパイルオプションは pkg-config を使って取得する。g++ pixbuf.cpp -o pixbuf `pkg-config gtkmm-2.4 --cflags --libs`
結果
