画像の拡大縮小
概要
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`
結果