GTK编程:获取图片的分辨率

实现功能:获取指定图片的分辨率
使用场景:需要对图片进行等比例缩放的时候。

/* File: PicParam.c * Date: Mon Mar 23 17:39:34 HKT 2015 * Describe: Print picture resolution * Autor: won */
#include <gtk/gtk.h>
#include <stdio.h>

int main(int argc, char *argv[])
{
        const GdkPixbuf *src_pixbuf;
        gint pic_width, pic_height;
        char *filename = argv[1];

        gtk_init(&argc, &argv);

        src_pixbuf = gdk_pixbuf_new_from_file(filename, NULL);

        pic_width  = gdk_pixbuf_get_width(src_pixbuf);
        pic_height = gdk_pixbuf_get_height(src_pixbuf);

        printf("pic_width = %d\n", pic_width);
        printf("pic_height= %d\n", pic_height);

        return 0;
}

定义GdkPixbuf *src_pixbuf的时候用const修饰是因为以下两个函数的需要:

int gdk_pixbuf_get_width(const GdkPixbuf *pixbuf);
int gdk_pixbuf_get_height(const GdkPixbuf *pixbuf);

编译:

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

运行结果:

$ ./PicParam 1.jpg 
pic_width = 880
pic_height= 622

每一件大事都是从小事做起。

你可能感兴趣的:(gtk,图片分辨率)