Consenso all'uso dei cookies

SITO1 -- SITO2 -- Forum2 -- CercaGlobale -- Informativa su Cookie e Privacy

Questo Forum1 è in sola lettura -- Usa il Forum2


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
Affiancare 2 immagini
#1
Avete mai scannerizzato la patente per inviarla all'assicurazione ? Vi siete posti il problema di mettere fronte e retro sullo stesso foglio ? Lo so che c'è Gimp, ma non è banale, io ci metto 10 minuti per
1) ricordarmi come si fa
2) aprire la prima immagine
3) aumentare la dimensione superficie cliccando sulla catena per slegare x da y
4) aprire la seconda immagine come nuovo livello
5) con sposta metterla in posizione
6) salvare unendo i livelli

con i seguenti comandi è un attimo:
Per mettere due immagini una a fianco dell'altra:
Codice:
convert image1.jpg image2.jpg +append affianca.jpg
Per mettere due immagini una sotto l'altra:
Codice:
convert image1.jpg image2.jpg -append sovrapponi.jpg
Un titolo ben azzeccato attira l'attenzione degli esperti in quel campo, fa risparmiare tempo a voi, aumenta la probabilità di successo.
Cita messaggio
#2
Grazie della drittaSmile molto utile.
Bilodiego

Cita messaggio
#3
questa è la versione grafica che permette la scelta delle 2 immagini
Codice:
#!/bin/bash
ima=`zenity --file-selection --multiple --title="Seleziona le due immagini"`
i=$?
# controlla se si è premuto OK o Annulla
if [ "$i" -ne 0 ]; then
  # è stato premuto annulla o chiusa la finestra
  zenity --warning --title="Attenzione" --text="Hai annullato"
  exit 1
fi
#echo $ima
# separa i nomi dei due file utilizzando | come separatore
ima1="$(echo "$ima" | cut -d'|' -f1)"
ima2="$(echo "$ima" | cut -d'|' -f2)"
convert $ima1 $ima2 -append somma.jpg

Un titolo ben azzeccato attira l'attenzione degli esperti in quel campo, fa risparmiare tempo a voi, aumenta la probabilità di successo.
Cita messaggio
#4
Bello, quasi quasi prendo le stringhe del separatore per fissare i bordi delle miniature con cornice a seconda che la larghezza sia maggiore dell'altezza o il contrario.

Visto che siamo obbligati a due foto soltanto da affiancare, si potrebbe addirittura semplificare passando le foto direttamente dal
comando
Codice:
$ ./scriptpatel.sh foto1.jpg foto2.jpg
scriptpatel.sh
Codice:
#!/bin/bash
ima="$1|$2"
# separa i nomi dei due file utilizzando | come separatore
ima1="$(echo "$ima" | cut -d '|' -f1)"
ima2="$(echo "$ima" | cut -d '|' -f2)"
convert $ima1 $ima2 +append somma.jpg
[Immagine: http://pclinuxos.com/forum/avatars/Pengu...guitux.png] Parole !
Mai che se ne trovino due uguali !
Cita messaggio
#5
in questo caso mi sembra inutile unire $1 e $2 per poi separarli, si fa prima con
Codice:
#!/bin/bash
convert $1 $2 +append somma.jpg

zafran, ho corretto i comandi per separare, awk è inutile, per errore ho corretto anche il tuo post
Un titolo ben azzeccato attira l'attenzione degli esperti in quel campo, fa risparmiare tempo a voi, aumenta la probabilità di successo.
Cita messaggio
#6
Naturalmente uno script di una riga non ha molto senso.

Ha senso il tuo che è grafico ma se uno si deve ricordare il nome dello script tanto vale si ricordi il comando.
Questa stringa la mettiamo nelle pillole.
[Immagine: http://pclinuxos.com/forum/avatars/Pengu...guitux.png] Parole !
Mai che se ne trovino due uguali !
Cita messaggio
#7
Visto che sei a fare le cose per benino, tanto varrebbe mettere la possibilità di scelta del file risultante.
Codice:
save=`zenity --file-selection --save --confirm-overwrite --title="Salva il risultato" --filename="somma.jpg"`

E quindi
Codice:
#!/bin/bash

ima=`zenity --file-selection --multiple --title="Seleziona le due immagini"`
i=$?
# controlla se si è premuto OK o Annulla
if [ "$i" -ne 0 ]; then
   # è stato premuto Annulla o chiusa la finestra
   zenity --warning --title="Attenzione" --text="Hai annullato"
   exit 1
else
   save=`zenity --file-selection --save --confirm-overwrite --title="Salva il risultato" --filename="somma.jpg"`
e=$?
fi

if  [ "$e" -ne 0 ]; then
   # è stato premuto Annulla o chiusa la finestra
   zenity --warning --title="Attenzione" --text="Non hai indicato alcun file!"
   exit 1
fi

ima1="$(echo "$ima" | awk '{print $1}' | cut -d '|' -f1)"
ima2="$(echo "$ima" | awk '{print $1}' | cut -d '|' -f2)"
convert $ima1 $ima2 +append $save
[Immagine: http://pclinuxos.com/forum/avatars/Pengu...guitux.png] Parole !
Mai che se ne trovino due uguali !
Cita messaggio
#8
mi sembra giusto, il prossimo passo è di non limitare a 2 immagini soltanto, ma a quelle che clicca l'utente.
Un titolo ben azzeccato attira l'attenzione degli esperti in quel campo, fa risparmiare tempo a voi, aumenta la probabilità di successo.
Cita messaggio
#9
In php sarebbe una sciocchezza, in bash mi sa che è un po' complicato.
Bisognerebbe anche selezionare il +o- del append.

Lasciando così, uno reitera e arriva alla somma che vuole.
Anzi dirò di piùì, mi pare sia la cosa che fa IrfanView, o almeno qualche versione fa era così.
Potevi scegliere la direzione della panoramica e la coppia di foto..

... buon lavoro ...
Tongue
[Immagine: http://pclinuxos.com/forum/avatars/Pengu...guitux.png] Parole !
Mai che se ne trovino due uguali !
Cita messaggio
#10
Non voglio fare concorrenza a a IrfanView, la mia intenzione è quella di imparare ancora qualcosa, mi hanno suggerito queste modifiche:
Codice:
#!/bin/bash
var=`zenity --file-selection --multiple --title="Seleziona le immagini da affiancare"`
# controlla se si è premuto OK o Annulla
if [ "$?" -ne 0 ]; then
  # è stato premuto annulla o chiusa la finestra
  zenity --warning --title="Attenzione" --text="Hai annullato"
  exit 1
fi

# creo una nuova variabile contenente solo i "|" di var
num="${var//[^|]/}"
# li conto e ci aggiungo uno
num=$((${#num}+1))

if [ $num == 1 ]; then
  zenity --warning --title="Attenzione" --text="Hai selezionato una sola immagine"
  exit 1
fi

#il contatore
count=1

# finché il contatore è minore o uguale a num
while [ $count -le $num ] ; do
        ima[$count]=`echo "$var" | cut -d'|' -f$count` # taglio con cut e metto nel array
        ((++count)) # incrementa il contatore
done

convert "${ima[@]}" -append somma.jpg

ma non ho capito la sintassi dei comandi
Codice:
num="${var//[^|]/}"
num=$((${#num}+1))
tu ne sai qualcosa ?
Un titolo ben azzeccato attira l'attenzione degli esperti in quel campo, fa risparmiare tempo a voi, aumenta la probabilità di successo.
Cita messaggio


Vai al forum:


Utenti che stanno guardando questa discussione: 1 Ospite(i)