Adicione a opção Redimensionar e rotacionar imagens ao Nautilus

Publicado por Sidnei Serra (última atualização em 25/04/2024)

[ Hits: 360 ]

Homepage: https://www.youtube.com/channel/UCRgokKtNlttdmg2RJEa2VYw

Download Redimensionar-espelhar-imagens.py




Há distribuições que não vem com a extensão do (Gnome) Nautilus "nautilus-image-converter" e que é muito útil para quem trabalha com imagens e comércio eletrônico. Essa extensão coloca uma opção de Redimensionar Imagens e Rotacionar Imagens e realmente ajuda a quem trabalha com esse tipo de recurso. Estou disponibilizando um script em Python que dá a opção de fazer isso. Coloque o script na pasta ~/.local/share/nautilus/scripts/ e o script estará disponível clicando em uma ou mais imagens com o botão direito do mouse/scripts. Instale os pacotes zenity e imagemagick usando o gerenciador de pacotes da sua distribuição.

  



Esconder código-fonte

#!/usr/bin/env python3

import subprocess
import sys

# Verifica se o pacote "imagemagick" está instalado
try:
    subprocess.run(['convert', '--version'], check=True)
except subprocess.CalledProcessError:
    subprocess.run(['zenity', '--error', '--text', 'O pacote "imagemagick" não está instalado. Por favor, instale-o antes de executar este script.'])
    sys.exit(1)

# Solicita ao usuário escolher entre redimensionar ou espelhar
operation_choice = subprocess.run(['zenity', '--list', '--title=Escolha a operação', '--text=Escolha a operação desejada:', '--column=Opção', 'Redimensionar', 'Espelhar'], stdout=subprocess.PIPE).stdout.decode().strip()

# Verifica a escolha do usuário e executa a operação correspondente
if operation_choice == 'Redimensionar':
    # Solicita ao usuário a porcentagem desejada para o redimensionamento
    resize_percentage = subprocess.run(['zenity', '--entry', '--title', 'Porcentagem de Redimensionamento', '--text', 'Digite a porcentagem de redimensionamento desejada (por exemplo, 30, 40, 50, 60, 70):'], stdout=subprocess.PIPE).stdout.decode().strip()

    # Verifica se a porcentagem é válida
    if not resize_percentage.isdigit() or int(resize_percentage) < 1 or int(resize_percentage) > 100:
        subprocess.run(['zenity', '--error', '--text', 'Porcentagem de redimensionamento inválida. Por favor, digite um valor entre 1 e 100.'])
        sys.exit(1)
else:
    mirror_option = '0'

# Diretório de saída para as imagens modificadas
output_dir = subprocess.run(['dirname', sys.argv[1]], stdout=subprocess.PIPE).stdout.decode().strip() + '/modified'

# Cria a pasta de saída se ainda não existir
subprocess.run(['mkdir', '-p', output_dir])

# Itera por todos os arquivos selecionados e aplica a operação escolhida
for image_file in sys.argv[1:]:
    if operation_choice == 'Redimensionar':
        subprocess.run(['convert', image_file, '-resize', resize_percentage + '%', output_dir + '/' + subprocess.run(['basename', image_file], stdout=subprocess.PIPE).stdout.decode().strip()])
    else:
        subprocess.run(['convert', image_file, '-resize', '100%', '-flop', output_dir + '/' + subprocess.run(['basename', image_file], stdout=subprocess.PIPE).stdout.decode().strip()])

subprocess.run(['zenity', '--info', '--text', 'Operação concluída!'])

Scripts recomendados

Versão das principais distribuições.

Passgen

Utilitário para cálculos

Jogo da Velha com IA (Inteligencia Artificial)

Troca de wallpaper temporizado para LXDE


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts