画面上部パネルのpngをキャプチャする際の色の問題

画面上部パネルのpngをキャプチャする際の色の問題

ウィンドウのコマンドを使用して、bashスクリプトからウィンドウをpngとしてキャプチャしたいと思います。ID。この場合、ウィンドウはトップパネルです。使用した色はgnome-screenshot見た画像の通り正確です...

ここに画像の説明を入力してください。

ところでキャプチャパネルを通って行くとimportまたは xwd+ convert、私は次のイメージを取得します..

ここに画像の説明を入力してください。

なぜこのような色の違いがあるのですか?

importどちらもconvertパッケージに属していますimagemagick...

Ubuntuリポジトリでウィンドウをキャプチャできる他の項目が見つかりませんでした。ID...だから詰まった。 (gnome-screenshotその機能はありません。)...ここで何が起こっているのかを知るのが良いでしょう(例:透明画像、私はそれについてほとんど知りません。)...しかし、とにかく、それはただのお勧めです解決策キャプチャユーティリティは成功することができます。そのユーティリティを通過できる必要があります。ID。   

以下は、イメージキャプチャを作成して表示する方法の例です。

import -window "$(wmctrl -l |grep "Top Expanded Edge Panel" |awk '{print $1}')" screen.png  
display screen.png

答え1

コンソールから画面を作成するためのscrot。バッグから出てくる道具ではないのでimagemagick色も大丈夫かもしれません。

問題があります。scrotフルスクリーンスクリーンショットしか撮影できないため、フルスクリーンスクリーンショットを撮り、必要なウィンドウ領域を切り取ります。もちろん、切り取るためにはimagemagickバッグに入っている道具以外には使用しませんnetpbm

#!/bin/bash
unset x y w h
eval $(xwininfo -id $(wmctrl -l |grep "Top Expanded Edge Panel" |awk '{print $1}') |
        sed -ne "s/^ \+Absolute upper-left X: \+\([0-9]\+\).*/x=\1/p" \
             -e "s/^ \+Absolute upper-left Y: \+\([0-9]\+\).*/y=\1/p" \
             -e "s/^ \+Width: \+\([0-9]\+\).*/w=\1/p" \
             -e "s/^ \+Height: \+\([0-9]\+\).*/h=\1/p" )
scrot scrot.pnm
    < scrot.pnm pnmcut -left $x -top $y -width $w -height $h | pnmtopng > scrot_cropped.png
display scrot_cropped.png

scrot色が変わらずにスクリーンショットを作成できることを確認できますか?その場合、このスクリプトは操作を実行し、目的のウィンドウ画面をインポートする必要があります。


@fredの答えに触発されたスクリプト:正確なウィンドウサイズと位置(トリムを含む)をどのように知ることができますか?そして@JRW:画像を分割するためのOneliner?

関連情報