内容

更新日: 2005/6/26
バージョン: gtkmm24

■ 概要
■ ソース
■ コンパイル
■ 結果

TOP

画像の拡大縮小

概要

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`

結果