2010-12-20 10 views
0

selectionのタイプはLinuxにあります。primary,secondary、およびclipboardです。最初の2つは短期クリップボードとして扱い、clipboardは長期クリップボードとして扱います。私は正しい?GNOMEクリップボードには、MIMEタイプがデータに関連付けられていますか?

primary/secondaryの選択はテキストのみですので、画像をlong-termクリップボードにコピーしたいのですが、関連するMIMEタイプがあるかどうかわかりません。 Screen Captureはスクリーンショットをクリップボードにコピーすることができるので、画像フォーマットで記述するためのメタデータがいくつかあると思います。しかし、xselのようなコマンドは、画像クリップボードのデータを操作するためのオプションを与えていません。画像ファイルをクリップボードにコピーしたり、クリップボードからファイルにダンプしたりすることはできません。 Googleで検索した後

は、私はいくつかのサポートは、Python/Gtkの中にありますが見つかりました:

import pygtk 
pygtk.require('2.0') 
import gtk 
import os 
def copy_image(f): 
    assert os.path.exists(f), "file does not exist" 
    clipboard = gtk.clipboard_get() 
    img = gtk.Image() 
    img.set_from_file(f) 
    clipboard.set_image(img.get_pixbuf()) 
    clipboard.store() 

私は、Pythonに慣れていないよので、私は、それを自分で試していないが、それは、少なくともいくつかのように見えますプログラムは画像クリップボードをサポートします。

GNOMEのクリップボードにMIMEタイプがない可能性があるので、ここで質問します.Gnomeアプリケーションのほとんどは画像フォーマットで同じ規則を共有していますか?

イメージ・クリップボードでプログラミングして、異なるアプリケーション間でイメージを共有したい場合、たとえば8ビット索引ビットマップと24ビットRGBビットマップが必要な場合は、どのドキュメントを参照してください。

答えて

1

コピー& Gnomeのペーストは、ネゴシエートされたデータ転送を実行します。データ転送に使用できるフォーマットのリストを提供し、もう一方は、望ましいタイプを選択します。 Gtk +などのAPIは、GdkPixbufのインターフェイスを提供し、フォーマット転送自体を管理することでこれを単純化します。

通常は、大きな画像ではかなり遅くなるため、PNG圧縮は良好ですが、OO.oに貼り付けるとJPEG以外の圧縮はサポートされませんオブジェクト。これは、GimpからWriterへのイメージの貼り付けが遅くなることにつながります。

http://library.gnome.org/devel/gtk/stable/gtk-Clipboards.html

+0

有名なPNGをサポートしているOO.oはありませんか? - - –

+0

@谢到雷私はgpaintでコピー&ペーストを実装していませんでしたが、まだLaunchpadやどこかに問題が記録されています。 –

関連する問題