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

Posted wonxxx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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编程:将图片文件按指定比例显示的主要内容,如果未能解决你的问题,请参考以下文章

PB程序中用图片控件按比例缩放显示图片大小

iOS图片如何按比例显示

图片的按比例显示

图片居中按比例显示鼠标滚动缩放鼠标拖动平移

UIScrollView 子视图在按比例缩小时错位,而子视图在四舍五入时不显示

google thumbnailator