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

Publicado por Perfil removido (última atualização em 25/04/2024)

[ Hits: 1.204 ]

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 e, como bônus, a opção de espelhar a imagem. 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

Simulador de Empréstimos

pipe2json.py

Torres de Hanói - Versão 2.0

Gerador de páginas .html

Cup - um gerenciador de notas simples


  

Comentários
[1] Comentário enviado por maurixnovatrento em 23/06/2024 - 13:46h

Muito bom, bacana esse subprocess do python.
______________________________________________________________________
Inscreva-se no meu Canal: https://www.youtube.com/@LinuxDicasPro
Repositório GitHub do Canal: https://github.com/LinuxDicasPro
Grupo do Telegram: https://t.me/LinuxDicasPro
Meu GitHub Pessoal: https://github.com/mxnt10


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts