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

来源:互联网 发布:网络媒介素养报告 编辑:程序博客网 时间:2024/05/20 10:11

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

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

/* 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 240void 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

这里写图片描述

0 0
原创粉丝点击