【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;
}
————————————————
版权声明:本文为CSDN博主「wonxxx」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wonxxx/article/details/44788249
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值