Nautilusはファイルのサムネイルを表示し、画像の場合はプレビューを表示し、ビデオの場合はビデオのフレームを表示し、ドキュメントの場合はアプリケーションアイコンを表示します。
画像にアクセスするにはどうすればよいですか?
キャッシュされて~/.thumbnail/
いるようですが、すべて一意の名前が付けられています。
Nautilusはファイルのサムネイルを表示し、画像の場合はプレビューを表示し、ビデオの場合はビデオのフレームを表示し、ドキュメントの場合はアプリケーションアイコンを表示します。
画像にアクセスするにはどうすればよいですか?
キャッシュされて~/.thumbnail/
いるようですが、すべて一意の名前が付けられています。
サムネイルファイル名は、ファイル名のmd5です。ただし、ファイル名は画像への絶対URIです(改行なし)。
だからあなたはする必要があります:
echo -n 'file:///home/yuzem/pics/foo.jpg' | md5sum
また、スペースがある場合は、「%20」に変換する必要があります。例:「foobar.jpg」
echo -n 'file:///home/yuzem/pics/foo%20bar.jpg' | md5sum
Ubuntuフォーラムで見つかりました。freedesktop.orgwikiからリンクされているThumbnailManagingStandardドキュメントも参照してください。
プログラムでサムネイルにアクセスする必要があると思います。Gio ライブラリを使用したい。
サムネイルを確認する方法を見つけることができませんでした。サムネイルが存在しない場合は、アプリケーション アイコンを探します。そのため、2 つの手順で行う必要があります。ここにサンプルがあります (申し訳ありませんが、Python。私は C に堪能ではありません)。
import gio
import gtk
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.show()
hbox = gtk.HBox()
hbox.show()
window.add(hbox)
f = gio.File(path='/home/whatever/you/want.jpg')
info = f.query_info('*')
# We check if there's a thumbnail for our file
preview = info.get_attribute_byte_string ("thumbnail::path")
image = None
if preview:
image = gtk.image_new_from_file (preview)
else:
# If there's no thumbnail, we check get_icon, who checks the
# file's mimetype, and returns the correct stock icon.
icon = info.get_icon()
image = gtk.image_new_from_gicon (icon, gtk.ICON_SIZE_MENU)
hbox.add (image)
window.show_all()
gtk.main()