Difference between revisions of "EN/Documentation/BASIC Guide/Editing Drawing Objects"
(New page: {{EN/Documentation/BASICGuideTOC/v2 |ShowPrevNext=block |ShowPrevPage=block |PrevPage=Documentation/BASIC Guide/Structure of Drawings |NextPage=Documentation/BASIC Guide/Presentations |dra...) |
|||
Line 6: | Line 6: | ||
|draw=block | |draw=block | ||
}} | }} | ||
− | {{DISPLAYTITLE: | + | {{DISPLAYTITLE:Modifica degli oggetti di disegno}} |
− | == | + | == Raggruppamento degli oggetti == |
− | + | In molte situazioni è utile raggruppare diversi singoli oggetti di disegno in modo che funzionino come un unico oggetto di grandi dimensioni. | |
− | + | L'esempio seguente combina due oggetti di disegno: | |
<source lang="oobas"> | <source lang="oobas"> | ||
Line 66: | Line 66: | ||
</source> | </source> | ||
− | + | Questo codice crea un rettangolo e un cerchio e li inserisce nella pagina, quindi crea un oggetto che supporta il servizio <idl>com.sun.star.drawing.ShapeCollection</idl> e utilizza il metodo <tt>Add</tt> per aggiungere il rettangolo e il cerchio a questo oggetto. <tt>ShapeCollection</tt> viene aggiunto alla pagina utilizzando il metodo <tt>Group</tt> e restituisce l'oggetto <tt>Group</tt> effettivo che può essere modificato come una singola <tt>Shape</tt>. | |
− | + | Per formattare i singoli oggetti di un gruppo, applicare la formattazione prima di aggiungerli al gruppo. Una volta inseriti nel gruppo, non è più possibile modificare gli oggetti. | |
− | == | + | == Rotazione e troncatura degli oggetti di disegno == |
− | + | Tutti gli oggetti di disegno descritti nelle sezioni precedenti possono essere ruotati e troncati anche utilizzando il servizio <idl>com.sun.star.drawing.RotationDescriptor</idl>. | |
− | + | Questo servizio dispone delle proprietà seguenti: | |
− | ;<tt>RotateAngle (Long)</tt>: | + | ;<tt>RotateAngle (Long)</tt>:Angolo di rotazione espresso in centesimi di grado. |
− | ;<tt>ShearAngle (Long)</tt>: | + | ;<tt>ShearAngle (Long)</tt>:Angolo di troncatura espresso in centesimi di grado. |
− | + | L'esempio seguente crea un rettangolo e lo ruota di 30 gradi utilizzando la proprietà <tt>RotateAngle</tt>: | |
<source lang="oobas"> | <source lang="oobas"> | ||
Line 105: | Line 105: | ||
</source> | </source> | ||
− | + | L'esempio seguente crea lo stesso rettangolo dell'esempio precedente, ma procede a troncarlo a 30 gradi utilizzando la proprietà <tt>ShearAngle</tt>. | |
<source lang="oobas"> | <source lang="oobas"> | ||
Line 130: | Line 130: | ||
</source> | </source> | ||
− | == | + | == Ricerca e sostituzione == |
− | + | I documenti di disegno, come i documenti di testo, forniscono una funzione per la ricerca e la sostituzione. Questa funzione è simile a quella utilizzata nei documenti di testo come descritto in [[Documentation/BASIC_Guide/Text_Documents|Documenti di testo]]. Tuttavia, nei documenti disegno gli oggetti descrittori per la ricerca e la sostituzione non vengono creati direttamente tramite l'oggetto documento, ma tramite il livello carattere associato. L'esempio seguente delinea il processo di sostituzione con un disegno: | |
<source lang="oobas"> | <source lang="oobas"> | ||
Line 153: | Line 153: | ||
</source> | </source> | ||
− | + | Questo codice utilizza la prima <tt>DrawPage</tt> del documento per creare un <tt>ReplaceDescriptor</tt> e quindi lo applica a tutte le pagine del documento di disegno in un ciclo. | |
{{PDL1}} | {{PDL1}} | ||
{{InterWiki_Languages_BasicGuide|articletitle=Documentation/BASIC Guide/Editing Drawing Objects}} | {{InterWiki_Languages_BasicGuide|articletitle=Documentation/BASIC Guide/Editing Drawing Objects}} |
Latest revision as of 18:21, 25 June 2009
Template:EN/Documentation/BASICGuideTOC/v2
Raggruppamento degli oggetti
In molte situazioni è utile raggruppare diversi singoli oggetti di disegno in modo che funzionino come un unico oggetto di grandi dimensioni.
L'esempio seguente combina due oggetti di disegno:
Dim Doc As Object Dim Page As Object Dim Square As Object Dim Circle As Object Dim Shapes As Object Dim Group As Object Dim Point As New com.sun.star.awt.Point Dim Size As New com.sun.star.awt.Size Dim NewPos As New com.sun.star.awt.Point Dim Height As Long Dim Width As Long Doc = StarDesktop.CurrentComponent Page = Doc.drawPages(0) Point.x = 3000 Point.y = 3000 Size.Width = 3000 Size.Height = 3000 ' create square drawing element Square = Doc.createInstance("com.sun.star.drawing.RectangleShape") Square.Size = Size Square.Position = Point Square.FillColor = RGB(255,128,128) Page.add(Square) ' create circle drawing element Circle = Doc.createInstance("com.sun.star.drawing.EllipseShape") Circle.Size = Size Circle.Position = Point Circle.FillColor = RGB(255,128,128) Circle.FillColor = RGB(0,255,0) Page.add(Circle) ' combine square and circle drawing elements Shapes = createUnoService("com.sun.star.drawing.ShapeCollection") Shapes.add(Square) Shapes.add(Circle) Group = Page.group(Shapes) ' centre combined drawing elements Height = Page.Height Width = Page.Width NewPos.X = Width / 2 NewPos.Y = Height / 2 Height = Group.Size.Height Width = Group.Size.Width NewPos.X = NewPos.X - Width / 2 NewPos.Y = NewPos.Y - Height / 2 Group.Position = NewPos
Questo codice crea un rettangolo e un cerchio e li inserisce nella pagina, quindi crea un oggetto che supporta il servizio com.sun.star.drawing.ShapeCollection e utilizza il metodo Add per aggiungere il rettangolo e il cerchio a questo oggetto. ShapeCollection viene aggiunto alla pagina utilizzando il metodo Group e restituisce l'oggetto Group effettivo che può essere modificato come una singola Shape.
Per formattare i singoli oggetti di un gruppo, applicare la formattazione prima di aggiungerli al gruppo. Una volta inseriti nel gruppo, non è più possibile modificare gli oggetti.
Rotazione e troncatura degli oggetti di disegno
Tutti gli oggetti di disegno descritti nelle sezioni precedenti possono essere ruotati e troncati anche utilizzando il servizio com.sun.star.drawing.RotationDescriptor.
Questo servizio dispone delle proprietà seguenti:
- RotateAngle (Long)
- Angolo di rotazione espresso in centesimi di grado.
- ShearAngle (Long)
- Angolo di troncatura espresso in centesimi di grado.
L'esempio seguente crea un rettangolo e lo ruota di 30 gradi utilizzando la proprietà RotateAngle:
Dim Doc As Object Dim Page As Object Dim RectangleShape As Object Dim Point As New com.sun.star.awt.Point Dim Size As New com.sun.star.awt.Size Point.x = 1000 Point.y = 1000 Size.Width = 10000 Size.Height = 10000 Doc = StarDesktop.CurrentComponent Page = Doc.drawPages(0) RectangleShape = Doc.createInstance("com.sun.star.drawing.RectangleShape") RectangleShape.Size = Size RectangleShape.Position = Point RectangleShape.RotateAngle = 3000 Page.add(RectangleShape)
L'esempio seguente crea lo stesso rettangolo dell'esempio precedente, ma procede a troncarlo a 30 gradi utilizzando la proprietà ShearAngle.
Dim Doc As Object Dim Page As Object Dim RectangleShape As Object Dim Point As New com.sun.star.awt.Point Dim Size As New com.sun.star.awt.Size Point.x = 1000 Point.y = 1000 Size.Width = 10000 Size.Height = 10000 Doc = StarDesktop.CurrentComponent Page = Doc.drawPages(0) RectangleShape = Doc.createInstance("com.sun.star.drawing.RectangleShape") RectangleShape.Size = Size RectangleShape.Position = Point RectangleShape.ShearAngle = 3000 Page.add(RectangleShape)
Ricerca e sostituzione
I documenti di disegno, come i documenti di testo, forniscono una funzione per la ricerca e la sostituzione. Questa funzione è simile a quella utilizzata nei documenti di testo come descritto in Documenti di testo. Tuttavia, nei documenti disegno gli oggetti descrittori per la ricerca e la sostituzione non vengono creati direttamente tramite l'oggetto documento, ma tramite il livello carattere associato. L'esempio seguente delinea il processo di sostituzione con un disegno:
Dim Doc As Object Dim Page As Object Dim ReplaceDescriptor As Object Dim I As Integer Doc = StarDesktop.CurrentComponent Page = Doc.drawPages(0) ReplaceDescriptor = Page.createReplaceDescriptor() ReplaceDescriptor.SearchString = "is" ReplaceDescriptor.ReplaceString = "was" For I = 0 to Doc.drawPages.Count - 1 Page = Doc.drawPages(I) Page.ReplaceAll(ReplaceDescriptor) Next I
Questo codice utilizza la prima DrawPage del documento per creare un ReplaceDescriptor e quindi lo applica a tutte le pagine del documento di disegno in un ciclo.
Content on this page is licensed under the Public Documentation License (PDL). |