O que o xwd: - e txt: - faz? Você pode dar um link para mais informações sobre esta sintaxe bash?
Só para esclarecer, não é a sintaxe bash. Esses são parte da sintaxe do convert.
xwd:-
informa convert
para obter sua entrada de stdin, onde -
significa stdin e espera que a entrada esteja no formato xwd
.
txt:-
informa convert
para enviar sua saída para stdout, onde -
significa stdout e para enviar a saída em txt
format.
Mais detalhes
-
xwd -silent
Isto captura uma janela X como uma imagem e envia essa saída para stdout no formato XWD. Por padrão,
xwd
toca os sinos quando a captura da janela é iniciada e termina.-silent
diz para ficar quieto. -
convert xwd:- -depth 8 -crop "1x1+$X+$Y" txt:-
Isso usa o utilitário
convert
do ImageMagick.xwd:-
diz para aceitar uma imagem no formato XWD no stdin.-depth 8
diz para converter a imagem em profundidade 8.-crop "1x1+$X+$Y"
diz para recortar a imagem em um único pixel no localX
eY
.txt:-
diz para enviar informações sobre esse pixel em formato de texto para stdout.
Para entender a saída txt
, vamos ver um exemplo. Aqui está a saída de cortar uma imagem para um tamanho de 2 pixels por 2 pixels:
$ xwd -silent | convert xwd:- -depth 8 -crop "2x2+200+200" txt:-
# ImageMagick pixel enumeration: 2,2,255,srgb
0,0: (255,255,255) #FFFFFF white
1,0: (255,255,255) #FFFFFF white
0,1: (255,255,255) #FFFFFF white
1,1: (255,255,255) #FFFFFF white
Como você pode ver, cada pixel é identificado por sua localização na imagem recortada, sua cor RGB em dois formatos e, quando disponível, o nome comum da cor.
Mais exemplos
Um arquivo jpeg pode ser convertido para png usando uma sintaxe similar:
cat out.jpg | convert jpg:- png:- >out.png
Naturalmente, em um exemplo simples, o pipeline é supérfluo. O acima pode ser simplificado para:
convert jpg:out.jpg png:out.png
Além disso, se o formato do arquivo não for especificado, convert
adivinhará a partir das extensões de arquivo. Portanto, para arquivos com extensões de arquivo reconhecíveis, o seguinte também funciona:
convert out.jpg out.png
Documentação
Executar convert
sem argumentos produz uma mensagem de ajuda. No final da mensagem de ajuda, há uma explicação sobre o significado de xwd:-
e txt:-
:
Por padrão, o formato da imagem de 'arquivo' é determinado por sua mágica número. Para especificar um formato de imagem específico, preceda o nome do arquivo com um nome de formato de imagem e dois pontos (ou seja, ps: image) ou especifique o tipo de imagem como o sufixo do nome do arquivo (ou seja, image.ps). Especifique 'arquivo' como '-' para entrada ou saída padrão.