Quando capturamos capturas de tela de áreas selecionadas em Ubuntu
(usando Shift+ Prt Scrou Ctrl+ Shift+ Prt Scr), sempre selecionamos uma área retangular . Então, eu sei que eu poderia editar a imagem em alguns softwares como o Inkscape para criar um círculo com a imagem retangular, mas gostaria de saber se há uma configuração que eu possa alterar para poder selecionar diferentes tipos de formas (principalmente círculos ) diretamente quando estou tirando a captura de tela.
É possível?
scripts
software-recommendation
programming
screenshot
productivity
Rafael Muynarsk
fonte
fonte
Respostas:
Montei um pequeno script para capturas de tela circulares, você precisa dos seguintes pacotes (embora seja adaptável a outros programas de capturas de tela e emuladores de terminal):
O script
Salve-o como, por exemplo,
~/circular_screenshot.bash
e torne-o executável comchmod +x ~/circular_screenshot.bash
. Quando você o executa, o script primeiro solicita que você mova o cursor do mouse para a posição central e pressione Entere, em seguida, mova-o para uma posição de borda (não importa qual, o script calcula o raio à distância) e pressione novamente Enter. A tela pisca enquanto a captura de tela é tirada (eu recomendo usarscrot $temp_screenshot
, mas não mostra esse comportamento estranho.) E o ImageMagickconvert
1 é usado para cortar a imagem. A saída é salva com um carimbo de data e hora como o nome do arquivo no diretório inicial. Você pode alterar esse comportamento editando aoutput
variável do script.Saída de exemplo
Ligue sem (ou melhor: com uma janela invisível) do terminal
Suponho que você não deseja que um terminal bloqueie sua tela toda vez que você faz uma captura de tela como essa, então aqui está uma solução para isso; Chame o script da seguinte maneira (assumindo que o script foi salvo como
~/circular_screenshot.bash
):Isso executa o script em uma janela de terminal invisível (ícone com um “X” vermelho e um “T” azul)), você só precisa ter certeza de que está focado ao digitar Enter. Você pode atribuir esse comando a um atalho de teclado usando as configurações do seu ambiente de área de trabalho.
Como o ImageMagick é incrivelmente poderoso, você também pode adaptar esse script para gerar outras formas, usei
ellipse
o mesmo raio nas direções x e y para desenhar o círculo acima - mude isso para, por exemplo,$radius,$(bc <<<"$radius*0.5")
para obter uma elipse com excentricidade acima de 0.1: Adotei a abordagem deste tópico no imagemagick.org .
fonte
Eu descobri algumas coisas aqui sobre capturas de tela. Quando tiramos capturas de tela no Ubuntu (a minha é 16.04), na verdade estamos usando um software chamado
gnome-screenshot
. É um software de código aberto escrito em C e podemos encontrar seu código-fonte no GitHub neste link :Bem, há um arquivo chamado lá
screenshot-area-selection.c
que responde à minha pergunta. É um arquivo com 361 linhas de código, então não vou colá-lo aqui. Mas, tanto quanto eu entendi sobre esse arquivo (não muito), ele usa muitas funções que são estruturadas em torno da construção de uma forma retangular ... Como neste pedaço de código:Então, minha conclusão é que não é possível alterar nenhuma configuração para tirar capturas de tela usando
gnome-screenshot
porque o código não está estruturado para isso ... Embora seja possível fazer o download do código, mude o código pessoalmente, recompile-o e use minha própria versão personalizada degnome-screenshot
.fonte
Usando a mesma idéia da resposta aceita, criei outro script para tirar capturas de tela hexagonais e estou compartilhando aqui, caso seja útil para outra pessoa.
Saída de exemplo
O Script
O processo é exatamente o mesmo da resposta aceita . Nesse caso, mudei o nome do script:
"Salve-o como, por exemplo,
~/hexagonal_screenshot.bash
e torne-o executávelchmod +x ~/hexagonal_screenshot.bash
. Quando você o executa, o script primeiro solicita que você mova o cursor do mouse para a posição central e pressione Enter e, em seguida, mova-o para uma posição de borda (não importa qual O script calcula o raio à distância) e pressione Enter novamente. A tela pisca enquanto a captura de tela é feita (eu recomendo usarscrot $temp_screenshot
, mas não mostra esse comportamento estranho) e o ImageMagickconvert
é usado para cortar a imagem. salvo com um carimbo de data e hora como o nome do arquivo no diretório inicial, você pode alterar esse comportamento editando aoutput
variável do script ".informação adicional
Caso alguém esteja curioso sobre a matemática envolvida, aqui está como eu fiz isso. Para criar um polígono com um número diferente de arestas ou formas diferentes usando
Imagemagick
o procedimento seria o mesmo: fazer as contas e adicionar ou remover pontos a esta parte do código"polygon $P1_x,$P1_y $P2_x,$P2_y $P3_x,$P3_y $P4_x,$P4_y $P5_x,$P5_y $P6_x,$P6_y"
.fonte