来自相机的照片包含缩略图和照片本身。缩略图由相机创建并用于在不加载完整图像的情况下快速浏览。将图像文件中的缩略图加载到pixbuf中
我想模仿与C和GTK + 2
工具如exiftool
或dcraw
可以提取缩略图到一个新的文件这样的行为。不过,我想直接将缩略图加载到GdkPixbuf
中。
如果有任何功能,提取的照片已经存在的缩略图并将其加载到GdkPixbuf
?
来自相机的照片包含缩略图和照片本身。缩略图由相机创建并用于在不加载完整图像的情况下快速浏览。将图像文件中的缩略图加载到pixbuf中
我想模仿与C和GTK + 2
工具如exiftool
或dcraw
可以提取缩略图到一个新的文件这样的行为。不过,我想直接将缩略图加载到GdkPixbuf
中。
如果有任何功能,提取的照片已经存在的缩略图并将其加载到GdkPixbuf
?
方法有很多,但不是正式™之一。
如果你不想迷失在EXIF的细节中,你可以利用eog(GNOME之眼):在木头下它主要是a C library。
将您的应用程序到库和EogImage对象调用eog_thumbnail_load。
没有
图片加载是通过pixbuf的装载机所以如果你有一个NEF或CR2,你必须提供一个加载器来处理这些类型的文件
我已经实现的方式,这是对的建立自己的pixbuf加载器,并使用exiv2获得嵌入式预览图像(TIF或JPG格式),然后让标准的pixbuf装载机加载
这将是我的最后手段,因为它会产生延迟和大量的磁盘写入。 Exiv2使用libexiv2这是一个C++库。有一个名为gexiv2的C包装器,但它没有附带文档。 – Reza
“产生大量的磁盘写入” - 我不记得在strace输出中看到了这个。以下是使用exiv2的gdk pixbuf加载器的代码 - 它不喜欢从RAW文件加载tif,但对于NEF和CR2直接在相机外,它工作正常:[link] http://whatdoineed2do.blogspot .com/2016/02/custom-gdkpixbufloader-to-handle.html – Ray
那么如果你想浏览一下你已经拍摄的200张照片,那么200张JPG必须被提取并写入磁盘。感谢您的链接,我会看看。 – Reza
我不明白你的问题,你得到从图像文件中的略图GTK代码? –
“GTK代码中的图像文件”? – Reza
不,我不明白。你如何构建你的gtk应用程序? –