Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Draw - ruotare immagine

1,293 views
Skip to first unread message

Oeta

unread,
May 17, 2008, 10:48:20 AM5/17/08
to
Ciao, non sono riuscito a trovare il modo, in Draw, per ruotare di 90
gradi un'immagine, Come si fa ad impostare i gradi di rotazione? A volte
si vorrebbe ruotare una immagine di una quantità ben definita, non è
possibile?

Grazie,
oeta


--
Quanto più l'uomo è religioso, tanto più crede; quanto più crede, tanto
meno sa; quanto meno sa, tanto è più ignorante; quanto è più ignorante,
tanto è più governabile.
John Most
--
Sito personale
http://pudemo.altervista.org/index.htm

VITRIOL

unread,
May 17, 2008, 10:53:29 AM5/17/08
to
Oeta ha scritto:

> Ciao, non sono riuscito a trovare il modo, in Draw, per ruotare di 90
> gradi un'immagine, Come si fa ad impostare i gradi di rotazione? A volte
> si vorrebbe ruotare una immagine di una quantità ben definita, non è
> possibile?

Clic destro sull'immagine > Posizione e Dimensione > [scheda] Rotazione
> Angolo.

--
news:it-alt.comp.software.openoffice : Il newsgroup dedicato a
OpenOffice.org, la suite open source di applicazioni per ufficio.

Saluti, VITRIOL

Oeta

unread,
May 17, 2008, 12:01:54 PM5/17/08
to
VITRIOL ha scritto:

> Clic destro sull'immagine > Posizione e Dimensione > [scheda] Rotazione
> > Angolo.
>
Grazie.

Tommy

unread,
May 17, 2008, 1:58:05 PM5/17/08
to

> VITRIOL ha scritto:> Clic destro sull'immagine > Posizione e Dimensione > [scheda] Rotazione

peccato davvero che un'opzione del genere non esista in Writer.

vedi issue: http://www.openoffice.org/issues/show_bug.cgi?id=3545

VITRIOL

unread,
May 18, 2008, 1:47:03 AM5/18/08
to
Tommy ha scritto:

> peccato davvero che un'opzione del genere non esista in Writer.
>
> vedi issue: http://www.openoffice.org/issues/show_bug.cgi?id=3545

Per quanto riguarda la rotazione, un possibile workaround è quello di
importare l'immagine in Draw, e poi fare copia/incolla in Writer.
L'immagine verrà incollata in "Formato disegno" invece che in "Bitmap"
(vedi anche Modifica > Incolla speciale...) e ti ritroverai il comando
di rotazione anche in Writer.
Per quanto riguarda invece la possibilità di ritagliare l'immagine
(cropping) in OOo 3.O è stata aggiunta una comodissima funzionalità di
cropping visuale non distruttivo, quindi è possibile ritagliare
l'immagine semplicemente spostando i bordi dell'immagine stessa, quando
si è in questa modalità.
La funzionalità però è disponibile solo in Draw e Impress. Sempre col
trucco del copia/incolla però l'immagine così ritagliata si può
importare in Writer, e il cropping viene mantenuto.

Tommy

unread,
May 18, 2008, 9:40:44 AM5/18/08
to
Vitriol, come al solito hai sempre una risposta pronta.
riguardo alla questione "formato disegno" vs. "bitmap" avrei alcune
domande:

1- se inserisco una foto da file in writer questa viene integrata come
bitmap o con il formato originale? (es. png, jpeg, gif ecc. ecc.)
2- se copio dalla clipboard di programmi esterni ad OOo (es. XnView o
internet browser) una foto e la incollo in Writer con che tipo di
formato viene memorizzata?
3- ai fini di qualità di stampa, quale modalità è la migliore?
a- immagine importata da file
b- immagine in modalità copia-incolla da clipboard
c- imamgine in modalità disegno epsortata da Draw
4- ai fini del peso del documento quale modalità è la migliore?

infine mi chiedevo se è possibile creare una macro per automatizzare
la funzione rotate sul formato disegno di Draw.
purtroppo il macro recorder non è attivo sull'applicativo Draw e
quindi bisogna andare di codice dove però io non capisco un accidente.
esistono già le macro Draw per il flip orizzontale ed il flip
verticale delle immagini. credo si possa fare qcs del genere anhe per
la rotazione a 90°.
http://www.oooforum.org/forum/viewtopic.phtml?t=13563&highlight=

Per quanto riguarda il cropping al momento vado benissimo con la
extension CropOOo che funziona sia su Draw che soprattutto su Writer,
dove invece la nuova feaature di OOo 3.0 non è operativa. Si tratta di
un cropping "distruttivo", non ripristinabile una volta effettuato, ma
ad ogni modo per ora a me va benissimo così.

martello

unread,
May 18, 2008, 9:52:40 AM5/18/08
to
Tommy ha scritto:


Iniziare un nuovo tread?
O più di uno sarebbe meglio ancora.

Non sarebbe male.

Altrimenti in "A domande cretine risposte cretine" non riesco proprio ad
inserirlo.

Ciao Ezio

VITRIOL

unread,
May 18, 2008, 3:46:04 PM5/18/08
to
Tommy ha scritto:

> 1- se inserisco una foto da file in writer questa viene integrata come
> bitmap o con il formato originale? (es. png, jpeg, gif ecc. ecc.)

Viene incorporata col formato originale.
Se vuoi vedere le immagini incorporate in un documento, basta che lo
decomprimi (è un normale file ZIP), e vai a guardare nella
sottodirectory Pictures.

> 2- se copio dalla clipboard di programmi esterni ad OOo (es. XnView o
> internet browser) una foto e la incollo in Writer con che tipo di
> formato viene memorizzata?

Da quanto ho potuto vedere, se copi e incolli da un programma esterno
l'immagine viene incorporata in formato PNG. Probabilmente il miglior
formato compresso senza perdita.
Se invece copi e incolli da Draw, l'immagine è incorporata nel formato
originale.

> 3- ai fini di qualità di stampa, quale modalità è la migliore?
> a- immagine importata da file
> b- immagine in modalità copia-incolla da clipboard
> c- imamgine in modalità disegno epsortata da Draw

Credo che dipenda fondamentalmente dalla qualità e dalla risoluzione
dell'immagine originale.
Se invece intervieni con delle trasformazioni la resa può essere
diversa. Ad esempio, nel caso specifico, l'algoritmo di rotazione di OOo
non mi sembra il massimo come resa visiva. Sicuramente programmi
dedicati per il fotoritocco e l'elaborazione di immagini raster fanno di
meglio.

> 4- ai fini del peso del documento quale modalità è la migliore?

Se hai una immagine in un formato compresso con perdita (es. JPG) non mi
sembra una buona idea incollare da un programma esterno, visto che te la
salverà in PNG con aumento si dimensioni ma non di qualità.

> infine mi chiedevo se è possibile creare una macro per automatizzare
> la funzione rotate sul formato disegno di Draw.

Qui passo la palla a qualche esperto di macro :-)

Tommy

unread,
May 18, 2008, 4:09:31 PM5/18/08
to
@Martello

forse avevo effettivamente un po' sforato con tutte quelle domande ma
la risposta di Vitriol è stata così esaustiva che ormai non c'è più
bisogno di aprire un nuovo topic.

@Vitriol

grazie ancora per la competenza, velocità e chiarezza con cui rispondi
ad ogni domanda.

@per gli esperti di macro

come ha spiegato Vitriol la rotazione di un'imamgine in Draw prevede
una serie di click con il mouse:


"Clic destro sull'immagine > Posizione e Dimensione > [scheda]

Rotazione > > scelta Angolo"

ciò che mi piacerebbe fare è avere una macro alla quale assegnare un
bottone della toolbar che con un solo click mi esegua l'operazione
scelta.
cercando su vari forum ho trovato le macro che permettono di eseguire
le opzioni di "ribaltamento verticale" e "ribaltamento orizzontale",
di cui posto il codice in caso potesse servirvi.

Sub FlipHorizontal
oDoc = ThisComponent
oDocCtrl = oDoc.getCurrentController()
oDocFrame = oDocCtrl.getFrame()

oDispatchHelper =
createUnoService( "com.sun.star.frame.DispatchHelper" )

' Flip selected object horizontally. (i.e. left becomes right,
vice versa)
oDispatchHelper.executeDispatch( oDocFrame, ".uno:MirrorHorz", "",
0, Array() )
End Sub

Sub FlipHorizontally
oDoc = ThisComponent
oDocCtrl = oDoc.getCurrentController()
oDocFrame = oDocCtrl.getFrame()

oDispatchHelper =
createUnoService( "com.sun.star.frame.DispatchHelper" )

' Flip selected object vertically. (i.e. top becomes bottom, vice
versa)
oDispatchHelper.executeDispatch( oDocFrame, ".uno:MirrorVert", "",
0, Array() )

End Sub

purtroppo non ho trovato una macro per la rotazione a 90° in senso
orario e a 90° in senso antiorario.
di macro coding non capisco un accidente per cui ho provato a usare il
buon vecchio macro recorder.
purtroppo ho scoperto che per qualche strano motivo questa
meravigliosa opzione di OOo funziona solo su Writer e Calc, ma non è
abilitabile su Draw ed Impress.

per questo motivo oltre ad aprire una issue ( "Enable macro recorder
in Draw" http://www.openoffice.org/issues/show_bug.cgi?id=89609 ) sono
qui a chiedervi se riuscite a creare una macro per il rotate ds. e sn.
magari editando il codice precedentemente postato relativo alle macro
per il ribaltamento.
grazie

martello

unread,
May 18, 2008, 5:27:06 PM5/18/08
to
Tommy ha scritto:

> @Martello
>
> forse avevo effettivamente un po' sforato con tutte quelle domande ma
> la risposta di Vitriol è stata così esaustiva che ormai non c'è più
> bisogno di aprire un nuovo topic.

Non sono un fanatico della etichetta ... anzi mi irritano quelli che
hanno sempre qualcosa da ridire ... l'unico problema è che questi dati
che ritengo interessanti non saranno registrati.
A meno che tu non voglia fare una 'seganlazione' in un post indipendente
con un po' di copia incolla e con un bel titolo accattivante.

Ciao Ezio

pablo

unread,
May 18, 2008, 7:23:15 PM5/18/08
to
Tommy wrote:

> @Martello
>
> forse avevo effettivamente un po' sforato con tutte quelle domande ma
> la risposta di Vitriol è stata così esaustiva che ormai non c'è più
> bisogno di aprire un nuovo topic.
>
> @Vitriol
>
> grazie ancora per la competenza, velocità e chiarezza con cui rispondi
> ad ogni domanda.
>
> @per gli esperti di macro
>
> come ha spiegato Vitriol la rotazione di un'imamgine in Draw prevede
> una serie di click con il mouse:
> "Clic destro sull'immagine > Posizione e Dimensione > [scheda]
> Rotazione > > scelta Angolo"
>
> ciò che mi piacerebbe fare è avere una macro alla quale assegnare un
> bottone della toolbar che con un solo click mi esegua l'operazione
> scelta.

[....]


> purtroppo non ho trovato una macro per la rotazione a 90° in senso
> orario e a 90° in senso antiorario.
> di macro coding non capisco un accidente per cui ho provato a usare il
> buon vecchio macro recorder.
> purtroppo ho scoperto che per qualche strano motivo questa
> meravigliosa opzione di OOo funziona solo su Writer e Calc, ma non è
> abilitabile su Draw ed Impress.
>
> per questo motivo oltre ad aprire una issue ( "Enable macro recorder
> in Draw" http://www.openoffice.org/issues/show_bug.cgi?id=89609 ) sono
> qui a chiedervi se riuscite a creare una macro per il rotate ds. e sn.
> magari editando il codice precedentemente postato relativo alle macro
> per il ribaltamento.

Direi che il codice basato su macro recorder non serve in questo caso.
Le trasformazioni delle shapes in draw sono gestite per mezzo di una
struttura dati chiamata HomogenMatrixLine3
Non è difficile da usare ma richiede un po di codifica e non ho nulla di
pronto sottomano.
Esiste sempre la vecchia proprietà RotateAngle che è "deprecated" ma è
ancora disponibile e funzionante è comunque molto più semplice da usare.

Gli angoli vengono rappresentati in centesimi di grado:
1 grado = 100
10 gradi = 1000
90 gradi = 9000
eccetera.
Puoi usare anche i negativi:
-9000 equivale a 27000


---------------------------
REM ***** BASIC *****

Sub Main
'ruota tutte le forme selezionate di 90 gradi
oSelection = thiscomponent.currentselection

If Not IsNull(oSelection) Then
For I = 0 To oSelection.Count - 1
oShape = oSelection.getByIndex(I)
oShape.RotateAngle = 9000
Next I
End If
End Sub
---------------------------


saluti
pablo

Tommy

unread,
May 19, 2008, 1:28:18 AM5/19/08
to
pablo sei un grande.
queste macro vanno benissimo, altro che "deprecated" !!!

già che ci sei ti chiedo una dritta su come abilitare la macro resize
pictures ( vedi http://user.services.openoffice.org/en/forum/viewtopic.php?f=20&t=1112
) anche sulle immagini importate da draw

pablo

unread,
May 21, 2008, 12:53:31 PM5/21/08
to
Tommy wrote:

> pablo sei un grande.
> queste macro vanno benissimo, altro che "deprecated" !!!

Bene, comunque il termine "deprecated" non ha nulla di negativo in questo
contesto.
Quando gli sviluppatori sostituiscono qualche "pezzo" nell'API, ad esempio
un'interfaccia o servizio, il pezzo vecchio deve continuare a funzionare
(per motivi di compatibilità) ma nella documentazione viene contrassegnato
come "deprecated"
Questo indica che quell'interfaccia o servizio API è stato sostituito da
qualcos'altro e presto o tardi verrà rimosso da openoffice.org
In effetti non si dovrebbero usare API "deprecated" perchè non c'è garanzia
che nelle versioni future continuino ad essere presenti.


>
> già che ci sei ti chiedo una dritta su come abilitare la macro resize
> pictures ( vedi
> http://user.services.openoffice.org/en/forum/viewtopic.php?f=20&t=1112 )
> anche sulle immagini importate da draw

Non ho capito bene il problema comunque credo sarebbe meglio aprire un
thread apposito.

ciao
pablo

Tommy

unread,
May 22, 2008, 6:30:37 PM5/22/08
to
>
> Non ho capito bene il problema comunque credo sarebbe meglio aprire un
> thread apposito.
>
> ciao
> pablo

hai ragione pablo. ho aperto un nuovo topic.
http://groups.google.it/group/it-alt.comp.software.openoffice/browse_thread/thread/62c82b19ab3cc1e4?hl=it#

0 new messages