Pagina 1 di 2
[RISOLTO] ruota quadro
Inviato: mer 21 ago 2013, 23:58
da masavini
ciao a tutti,
sto tentando di migrare da photoshop a gimp...
uno dei comandi che uso più spesso su photoshop è "ruota quadro":
- seleziono il righello
- traccio una linea quasi orizzontale
- premo ctrl+shift+a e si apre la finestra "ruota quadro" con l'angolo necessario per ruotare l'immagine in modo da rendere la linea tracciata perfettamente orizzontale
c'è modo di fare lo stesso con gimp?
grazie!
Re: ruota quadro...
Inviato: gio 22 ago 2013, 6:57
da CiaoXD0
Ciao e benvenuto nella comunità italiana di GIMP!!
Allora, se quello che vuoi fare è semplicemente tracciare una linea orizzontale, perchè non la tracci subito invece di fare il "Ruota quadro"!? ^^"
Non so in Photoshop si poteva, ma in GIMP lo puoi fare tranquillamente... Ci sono diversi modi, ma quello che utilizzo io consiste nel:
1) Prima di tutto fai un nuovo foglio per te, di dimensioni a tuo piacere.
2) Vai su, "Visualizza" e poi fai "Griglia", e poi rifai "Visualizza" e questa volta schiacci su "Griglia magnetica".
3) Ora selezioni lo strumento con cui vuoi tracciare la linea orizzontale.
4) Clicchi su un punto della griglia da cui vuoi partire a creare la linea.
5) Fai dalla tastiera "Shift" e in contemporanea con il muose finisci di tracciare la tua linea orizzontale.
Ora avresti una linea perfettamente orizzontale... Se vuoi modificare qualcosa nella Griglia, ti basta andare su "Modifica" --- "Preferenze" --- "Griglia predefinita"!!

Re: ruota quadro...
Inviato: gio 22 ago 2013, 8:30
da masavini
no, non mi sono spiegato...
esempio:
ho una foto con l'orizzonte non "orizzontale". in photoshop seleziono il righello, traccio una linea che segue l'orizzonte e poi con ctrl+shift+a trovo automaticamente l'angolo da usare per ruotare l'immagine in modo che la linea tracciata (e quindi l'orizzonte della foto) diventino perfettamente orizzontali...
tipo questo:
https://www.photoshopessentials.com/pho ... en-photos/
è possibile fare qcs di simile con gimp?
Re: ruota quadro...
Inviato: gio 22 ago 2013, 13:15
da johnJ
per raddrizzare l'orizzonte io mi metto un riferimento con una guida e ruoto la foto
http://docs.gimp.org/it/gimp-concepts-image-guides.html
Re: ruota quadro...
Inviato: gio 22 ago 2013, 14:37
da masavini
mmm, se si hanno decine di "orizzonti" da sistemare la rotazione "manuale" non è il sistema più veloce...
Re: ruota quadro...
Inviato: gio 22 ago 2013, 14:59
da johnJ
beh, ma per ricalcare l'orizzonte con il righello di PS un po' di tempo ce lo metti, no? quanto ci metti con il mio metodo? se vuoi postami una foto, ci provo e vediamo quanto tempo occorre, magari hai ragione...
cerco se trovo altro, a me capita ogni tanto di dover raddrizzare una foto e ho sempre agito nel modo che ti ho detto...
edit:
http://www.youtube.com/watch?v=UnB7RHgRNPw
io preferisco il mio metodo, ma questo mi pare come vuoi tu
Re: ruota quadro...
Inviato: gio 22 ago 2013, 15:05
da masavini
guarda, a raddrizzare una foto con il righello ci vogliono 3-4 secondi (tutto incluso): tiri la riga, ctrl+alt+a e invio...
pensi che sia possibile fare uno script per calcolare l'angolo del righello e poi ruotare l'immagine con quell'angolo?
ho un po' di esperienza con bash, php e python, ma non ho mai visto come è fatto uno script gimp...
Re: ruota quadro...
Inviato: gio 22 ago 2013, 21:47
da Lazza
masavini ha scritto:pensi che sia possibile fare uno script per calcolare l'angolo del righello e poi ruotare l'immagine con quell'angolo?
Certo, infatti ce n'era uno.

Solo che poi non si sa dove sia finito...
http://gimpchat.com/viewtopic.php?f=9&t=1624
masavini ha scritto:ho un po' di esperienza con bash, php e python, ma non ho mai visto come è fatto uno script gimp...
Sono scritti in Script-fu, è un linguaggio di Gimp ma fortemente basato su Scheme. Nulla ti vieta comunque di scriptare Gimp in Python, infatti è supportato anche quello:
In questo caso credo che sia semplice (e faresti un gran piacere a molti). In pseudocodice sarebbe (assumendo l'utente abbia tracciato un tracciato con esattamente due punti):
Codice: Seleziona tutto
(xa, ya) = coordinate punto A
(xb, yb) = coordinate punto B
calcola l'angolo di rotazione
applica angolo all'immagine
Se lo implementi sarò il primo a installarlo!

Re: ruota quadro...
Inviato: gio 22 ago 2013, 23:43
da masavini
mannaggia, proprio lo script che servirebbe a me!
credi ci sia qualche possibilità di chiederlo direttamente all'autore del post?
Re: ruota quadro...
Inviato: ven 23 ago 2013, 0:06
da johnJ
prova; ad ogni modo è circa il tempo che serve anche con il metodo che ti ho linkato, basta impostare la rotazione nel modo giusto
Re: ruota quadro...
Inviato: ven 23 ago 2013, 0:26
da Lazza
masavini ha scritto:credi ci sia qualche possibilità di chiederlo direttamente all'autore del post?
C'è più possibilità con la WayBack Machine credo, però bisogna poi vedere se funzionerà con le ultime versioni di Gimp...

Re: ruota quadro...
Inviato: sab 24 ago 2013, 14:54
da donGoGo
prova a vedere se funziona con le nuove versioni, a me funge sulla 2.8.6
Codice: Seleziona tutto
;script-fu auto-rotate and script-fu-gimp-image-get-two-controlpoints by hevan
(define (script-fu-gimp-image-get-two-controlpoints inImage)
(let* ( (num-vectors(car(gimp-image-get-vectors inImage))) (active-vectors 0) (num-strokes 0) )
(if (= num-vectors 0) (gimp-message "There are no paths in the image! Please create one stroke on one path."))
(set! active-vectors (car(gimp-image-get-active-vectors inImage)))
(set! num-strokes (car(gimp-vectors-get-strokes active-vectors)))
(if (= num-strokes 0)(gimp-message "There is no stroke in the path! Please create one stroke on one path.")))
(let* (
(active-vectors (car(gimp-image-get-active-vectors inImage)))
(num-strokes (car(gimp-vectors-get-strokes active-vectors)))
(stroke-ids-array (cadr(gimp-vectors-get-strokes active-vectors)))
(stroke-id (vector-ref stroke-ids-array 0))
(controlpoints-array (caddr(gimp-vectors-stroke-get-points active-vectors stroke-id)))
(num-controlpoints (cadr(gimp-vectors-stroke-get-points active-vectors stroke-id)))
(x0 (vector-ref controlpoints-array 2))
(y0 (vector-ref controlpoints-array 3))
(x1 (vector-ref controlpoints-array (- num-controlpoints 4)))
(y1 (vector-ref controlpoints-array (- num-controlpoints 3)))
;O d'affixe a°+ib° avec a°=x0 et b°=y0
;O est l'origine d'un nouveau repère que l'on crée
;A d'affixe a+ib avec a=x1−x0 et b=y1−y0
(a (- x1 x0))
(b (- y1 y0))
(mod (pow (+ (* a a) (* b b)) 0.5))
)
(if (= num-controlpoints 6) (gimp-message "There are not enough controlpoints!"))
(list a b mod)
)
)
(script-fu-register "script-fu-gimp-image-get-two-controlpoints" "" "" "" "" "" "" SF-IMAGE "Image" 0)
(define (script-fu-auto-rotate inImage inDrawable)
(let* (
(a (car(script-fu-gimp-image-get-two-controlpoints inImage)))
(b (cadr(script-fu-gimp-image-get-two-controlpoints inImage)))
(mod (caddr(script-fu-gimp-image-get-two-controlpoints inImage)))
(teta (acos (/(abs a)mod)))
)
(if (or (and (> a 0)(< b 0)) (and (< a 0)(> b 0)) ) (gimp-drawable-transform-rotate-default inDrawable teta TRUE 0 0 TRUE 0))
(if (or (and (> a 0)(> b 0)) (and (< a 0)(< b 0)) ) (gimp-drawable-transform-rotate-default inDrawable (- 0 teta) TRUE 0 0 TRUE 0))
(gimp-displays-flush)
)
)
(script-fu-register
"script-fu-auto-rotate"
"Auto rotate"
""
"Hevan"
"Hevan"
"01/2010"
""
SF-IMAGE "Image" 0
SF-DRAWABLE "Drawable" 0
)
(script-fu-menu-register "script-fu-auto-rotate" "<Image>/Scritp-Fu/Layer/Auto-rotate" )
Re: ruota quadro...
Inviato: sab 24 ago 2013, 15:39
da Lazza
Bello, ora lo provo.

Prima però io correggerei il typo...
donGoGo ha scritto:Codice: Seleziona tutto
(script-fu-menu-register "script-fu-auto-rotate" "<Image>/Scritp-Fu/Layer/Auto-rotate" )
Ma l'hai recuperato con la WayBack machine?
Re: ruota quadro...
Inviato: sab 24 ago 2013, 15:45
da Lazza
Belloooooooooooooooooooooooooooooooooooooooooooooooooooooooo.
Io però ho sostituito la riga dove c'era il typo con soltanto:
Codice: Seleziona tutto
(script-fu-menu-register "script-fu-auto-rotate" "<Image>/Layer/" )
Così me lo trovo comodo comodo sotto a
Livello come l'originale che usavo qualche tempo fa.

Re: ruota quadro...
Inviato: sab 24 ago 2013, 17:19
da donGoGo
Lazza ha scritto:Ma l'hai recuperato con la WayBack machine?
No, lo script è presente sul mio PC
