码迷,mamicode.com
首页 > 其他好文 > 详细

GTK编程:将图片文件按指定比例显示

时间:2015-04-01 00:24:36      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:显示   gtk   图片   

实现功能:将指定的图片文件按指定比例在窗体中显示

注意:这段代码没有信号处理的实现,当点击关闭窗体的时候,虽然窗体关闭了,但程序并没有真正退出。

/* File: SizeShow.c
 * Date: Mon Mar 27 15:36:09 HKT 2015
 * Describe: Show the picture with the specified size 
 * Autor: won
 */

#include <stdio.h>
#include <gtk/gtk.h>

//指定显示分辨率
#define dest_width 320
#define dest_height 240

void showPic(char *filename)
{
    GtkWidget *window;
    GtkWidget *image;
    const GdkPixbuf *src_pixbuf;
    GdkPixbuf *dest_pixbuf;

    //创建一个新窗口
    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

    //读取图片参数
    src_pixbuf = gdk_pixbuf_new_from_file(filename, NULL);


    //将src_pixbuf设置成屏幕大小
    dest_pixbuf = gdk_pixbuf_scale_simple(src_pixbuf, 
        dest_width, dest_height, GDK_INTERP_HYPER);

    //从dest_pixbuf中读取图片存于image中
    image = gtk_image_new_from_pixbuf(dest_pixbuf);

    //设置窗口大小
    gtk_window_set_default_size(GTK_WINDOW(window), dest_width, dest_height);

    //将图片image加入window容器中
    gtk_container_add(GTK_CONTAINER(window), image);

    //设置窗口边框宽度
    gtk_container_set_border_width(GTK_CONTAINER(window), 0);

    //显示窗口
    gtk_widget_show_all(window);

}

int main(int argc, char *argv[])
{
    gtk_init(&argc, &argv);

    showPic(argv[1]);

    gtk_main();

    return 0;
}

编译:

gcc PicParam.c -o PicParam `pkg-config --cflags --libs gtk+-2.0`

执行结果:

$ ./SizeShow 1.jpg

技术分享

GTK编程:将图片文件按指定比例显示

标签:显示   gtk   图片   

原文地址:http://blog.csdn.net/wonxxx/article/details/44788249

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!