いくつかのpngファイルを選択し、次のコマンドを実行するとします。
xclip -selection clip -t image/png image.png
今私のクリップボードにそのイメージがありました。画像を許可する場所に貼り付けると、期待どおりに貼り付けられ、すべてが正常です。
これで、Firefoxアドレスバーまたはテキストフィールドにこれを入力しながらctrl + Vを押すことを考えてみましょう。ファイルのバイナリコンテンツがテキストフィールドにそのまま貼り付けられているため、場合によってはブラウザが一時的に中断されました。
もちろん、そこに画像を貼り付けても無駄だということはわかりますが、時々誤って貼り付けて問題が発生することもあります。
Firefoxの「画像をコピー」ボタンを使用してコピーした画像を貼り付けるときに貼り付けようとすると貼り付けられないため、これらの動作を許可するにはクリップボードに保存することが可能です。
画像をテキストフィールドにバイナリデータとしてそのまま貼り付けずにクリップボードに画像を配置するにはどうすればよいですか?どういうわけかクリップボードに画像とテキスト文字列(画像パスなど)を配置して貼り付けるときに適切な文字列を選択することができれば良いでしょう。
答え1
私はあなたのようにxclipを使って画像をクリップボードにコピーしましたが、これは私が得たターゲットのリストです。
> xclip -selection clip -t TARGETS -o
TARGETS
image/png
Webページから画像をコピーすると、次の結果が表示されます。
> xclip -selection clip -t TARGETS -o
TIMESTAMP
TARGETS
MULTIPLE
SAVE_TARGETS
text/html
text/_moz_htmlinfo
text/_moz_htmlcontext
image/png
image/jpeg
image/x-icon
image/x-ico
image/x-win-bitmap
image/vnd.microsoft.icon
application/ico
image/ico
image/icon
text/ico
image/tiff
image/bmp
image/x-bmp
image/x-MS-bmp
たとえば、ターゲットを text/html に設定すると、次のような出力が得られます。
> xclip -sel c -t text/html -o
<img src="..." alt="...">>
前の回答で述べたように、これはxclipの問題のようです。
答え2
上記の答えは不完全または間違っているようです。 Mozilla Firefoxから画像をコピーすると、次の出力が表示されます。
$ xclip -selection clip -t TARGETS -o
TIMESTAMP
TARGETS
MULTIPLE
SAVE_TARGETS
text/html
text/_moz_htmlinfo
text/_moz_htmlcontext
image/png
image/bmp
image/x-bmp
image/x-MS-bmp
image/x-icon
image/x-ico
image/x-win-bitmap
image/vnd.microsoft.icon
application/ico
image/ico
image/icon
text/ico
image/jpeg
awnserが前述したように "text / html"を出力すると、画像へのリンクを含む有効なhtml文書が出力されます。ただし、「image/png」(または同様のオプション)を選択すると、生のpngデータが出力されます。
要約:xclip -selection clip -t TARGETS -o
貼り付け可能な形式を教えてください。 1つを選択してくださいxclip -selection clip -t '$TYPE' -o
。これはファイルに直接保存され、予想通りほぼ正確に機能します。