Difference between revisions of "EN/Documentation/BASIC Guide/Structure of Drawings"

From Apache OpenOffice Wiki
Jump to: navigation, search
(New page: {{EN/Documentation/BASICGuideTOC/v2 |ShowPrevNext=block |ShowPrevPage=block |PrevPage=Documentation/BASIC Guide/Drawings Presentations |NextPage=Documentation/BASIC Guide/Editing Drawing O...)
 
 
Line 6: Line 6:
 
|draw=block
 
|draw=block
 
}}
 
}}
{{DISPLAYTITLE:▼\'90\'7d形描画ドキュメントの\'8d\'5c造}}
+
{{DISPLAYTITLE:La struttura dei disegni}}
 
   
 
   
{{OOo}} ▼ の\'90\'7d形描画ドキュメントには、特にページ数の制限はありません。▼これらの各ページは、それぞれ個別に編集できます。▼またページごとに配置できる\'90\'7d形描画要素の数についても、特に制限はありません。
+
{{OOo}} non limita il numero delle pagine di un documento disegno. Inoltre, è possibile progettare ogni pagina separatamente e non esistono limiti al numero degli elementi del disegno aggiungibili a una pagina.
  
==▼ページ==
+
== Pagine ==
  
\'90\'7d形描画ドキュメント内のページへのアクセスには、<tt>DrawPages</tt> リストを利用します。▼また個々のページに対しては、番号または名前により指定できます。▼ドキュメント内に '''Slide 1''' という名前のページだけしかない場合、以下の 2 つのサンプルコードは同じ動作を示します。
+
Le pagine di un disegno sono disponibili tramite l'elenco <tt>DrawPages</tt>. È possibile accedere alle singole pagine sia attraverso il numero che attraverso il nome. Se un documento ha una pagina denominata '''Slide 1''', gli esempi seguenti sono identici.
  
'''▼例 1:'''
+
'''Esempio 1:'''
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 24: Line 24:
 
</source>
 
</source>
  
'''▼例 2:'''
+
'''Esempio 2:'''
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 34: Line 34:
 
</source>
 
</source>
  
上記の例 1 では、ページへのアクセスを番号指定で行なっています (開始値は 0)。▼上記の例 2 では、<tt>getByName</tt> メ\'83\'5cッドを用いた名前によるアクセスを行なっています。
+
Nell'esempio 1, la pagina è identificata dal suo numero (il conteggio inizia a 0). Nel secondo esempio, si accede alla pagina utilizzando il suo nome e il metodo <tt>getByName</tt>.
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 52: Line 52:
 
</source>
 
</source>
  
上記の呼び出しを実行すると、<tt>com.sun.star.drawing.DrawPage</tt> サービスをサポートしたページオブジェクトが返されます。▼このサービスでは、以下の属性を使用できます。
+
La chiamata precedente restituisce un oggetto pagina che supporta il servizio <tt>com.sun.star.drawing.DrawPage</tt>. Questo servizio riconosce le proprietà seguenti:
  
;<tt>BorderLeft (Long)</tt>:100 分の 1 ミリ単位で指定した左側の枠。
+
;<tt>BorderLeft (Long)</tt>:Bordo sinistro in centesimi di millimetro
;<tt>BorderRight (Long)</tt>:100 分の 1 ミリ単位で指定した右側の枠。
+
;<tt>BorderRight (Long)</tt>:Bordo destro in centesimi di millimetro
;<tt>BorderTop (Long)</tt>:100 分の 1 ミリ単位で指定した上側の枠。
+
;<tt>BorderTop (Long)</tt>:Bordo superiore in centesimi di millimetro
;<tt>BorderBottom (Long)</tt>:100 分の 1 ミリ単位で指定した下側の枠。
+
;<tt>BorderBottom (Long)</tt>:bordo inferiore in centesimi di millimetro
;<tt>Width (Long)</tt>:100 分の 1 ミリ単位で指定したページ幅。
+
;<tt>Width (Long)</tt>:Larghezza della pagina in centesimi di millimetro
;<tt>Height (Long)</tt>:100 分の 1 ミリ単位で指定したページの高さ。
+
;<tt>Height (Long)</tt>:Altezza della pagina in centesimi di millimetro
;<tt>Number (Short)</tt>:ページ数 (開始値は 1) 読み取り専用。
+
;<tt>Number (Short)</tt>:Numero di pagine (la numerazione inizia con 1), sola lettura
;<tt>Orientation (Enum)</tt>:ページの向き (<tt>com.sun.star.view.PaperOrientation</tt> に定められた列挙型)
+
;<tt>Orientation (Enum)</tt>:Orientamento della pagina (conforme all'enumerazione <tt>com.sun.star.view.PaperOrientation</tt>)
  
▼これらの設定値の変更は、該当ドキュメント内の '''すべて''' のページに適用されます。
+
La modifica di queste impostazioni incide su '''tutte''' le pagine del documento.
  
▼以下のサンプルコードは、新規に開いた\'90\'7d形描画ドキュメントに対して、ページサイズを 20 × 20 センチメートル、ページ余白を 0.5 センチメートルに設定します。
+
L'esempio seguente imposta il formato della pagina di un disegno appena aperto su 20 x 20 centimetri con un margine della pagina di 0,5 centimetri:
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 83: Line 83:
 
</source>
 
</source>
  
==▼\'90\'7d形描画オブジェクトの基\'96\'7b属性==
+
== Proprietà elementari degli oggetti di disegno ==
  
▼\'90\'7d形描画オブジェクトには、\'90\'7d形 (四角形や円など)、線、テキストなどのオブジェクトが該当します。▼これらのオブジェクトは <tt>com.sun.star.drawing.Shape サービスをサポートしており、多数の機\'94\'5cが共通しています。</tt>▼たとえば\'90\'7d形描画オブジェクトの <tt>Size</tt> <tt>Position</tt> 属性は、このサービスに定義されています。
+
Gli oggetti disegno includono forme (rettangoli, cerchi e così via), linee e oggetti testo, che condividono una serie di funzioni comuni e supportano il servizio <tt>com.sun.star.drawing.Shape</tt>. Questo servizio definisce le proprietà <tt>Size</tt> e <tt>Position</tt> di un oggetto di disegno.
  
 +
{{OOo}} Basic offre inoltre diversi altri servizi tramite i quali modificare tali proprietà, come la formattazione o l'applicazione di riempimenti. Le opzioni di formattazione disponibili dipendono dal tipo di oggetto disegno.
  
                    なお書式設定や塗りつぶしなど、位置やサイズ以外の属性の変更については、{{OOo}} Basic に用意されているその他の各種サービスを利用します。▼どのような書式設定オプションが利用できるかは、\'90\'7d形描画オブジェクトの種類によって異なります。
+
L'esempio seguente crea e inserisce un rettangolo nel disegno:
 
+
▼以下のサンプルコードでは、四角形を作成して、\'90\'7d形描画ドキュメント上に\'91\'7d入します。
+
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 114: Line 113:
 
</source>
 
</source>
  
このサンプルコードでは、オープンするドキュメントの指定に <tt>StarDesktop.CurrentComponent</tt> を使用しています。このようにして指定されたドキュメントオブジェクトに対しては、<tt>drawPages(0)</tt> を実行することで、その最初のページを取得できます。
+
Questo esempio utilizza la chiamata <tt>StarDesktop.CurrentComponent</tt> per determinare quale documento è aperto. L'oggetto documento così determinato restituisce la prima pagina del disegno tramite la chiamata <tt>drawPages(0)</tt>.
  
次に <tt>Point</tt> および <tt>Size</tt> という構造体を使って、図形描画オブジェクトの表示位置 (左上隅) とサイズを指定しています。▼これらの値は、100 分の 1 ミリ単位で指定します。
+
Vengono quindi inizializzate le strutture <tt>Point</tt> e <tt>Size</tt> con il punto di origine (angolo sinistro) e il formato dell'oggetto disegno. Le lunghezze sono specificate in centesimi di millimetro.
  
その次にくる <tt>Doc.createInstance</tt> のコード行では、<idl>com.sun.star.drawing.RectangleShape</idl> サービスを指定することで、四角形の図形描画オブジェクトを作成しています。▼最後に実行する <tt>Page.add</tt> のコード行では、作成した\'90\'7d形描画オブジェクトをページ上に\'91\'7d入しています。
+
Il codice del programma utilizza quindi la chiamata <tt>Doc.createInstance</tt> per creare l'oggetto disegno rettangolo come specificato dal servizio <idl>com.sun.star.drawing.RectangleShape</idl>. Al termine, l'oggetto disegno è assegnato a una pagina utilizzando una chiamata <tt>Page.add</tt>.
  
===▼塗りつぶし属性===
+
=== Proprietà di riempimento ===
  
この節では 4 つのサービスに付いて説明し、四角形オブジェクトに対して各種の書式設定を行うサンプルコードを紹介します。塗りつぶし関係の属性は、<idl>com.sun.star.drawing.FillProperties</idl> サービスで扱われます。
+
Questa sezione descrive quattro servizi e in ciascun caso il codice del programma di esempio utilizza un elemento di forma rettangolare che combina diversi tipi di formattazione. Le proprietà di riempimento vengono combinate nel servizio <idl>com.sun.star.drawing.FillProperties</idl>.
  
{{OOo}} ▼ で行う塗りつぶしに関しては、大きく分けて 4 種類の書式設定が存在します。▼最も単純なものは、単一色による塗りつぶしです。▼その他に、複数の色を組み合わせたグラデーションおよびハッチングのオプションもあります。▼そして第 4 のタイプとして、既存の画像を塗りつぶし領域にはめ込むというオプションも使用できます。
+
{{OOo}} riconosce quattro tipi principali di formattazione per un'area di riempimento. La variante più semplice è il riempimento a colore singolo. Le opzioni per definire le sfumature di colore e i tratteggi permettono di creare e introdurre altri colori. La quarta variante è l'opzione che consente di proiettare immagini preesistenti nell'area di riempimento.
  
図形描画オブジェクトの塗りつぶしモードは、<tt>FillStyle</tt> 属性で指定します。指定可能な値は、<idl>com.sun.star.drawing.FillStyle</idl> に定義されています。
+
Il modo riempimento di un oggetto disegno viene definito tramite la proprietà <tt>FillStyle</tt>. I valori consentiti sono definiti in <idl>com.sun.star.drawing.FillStyle</idl>.
  
===▼単一色による塗りつぶし===
+
=== Riempimenti a colore singolo ===
  
単一色による塗りつぶしを行う場合、主として以下の属性を使用します。
+
La proprietà principale per i riempimenti a colore singolo è la seguente:
  
;<tt>FillColor (Long)</tt>:領域の塗りつぶし。
+
;<tt>FillColor (Long)</tt>:colore di riempimento di un'area.
  
この塗りつぶしモードを使用するには、<tt>FillStyle</tt> 属性を <tt>SOLID</tt> に設定しておく必要があります。
+
Per utilizzare il modo riempimento, dovete impostare la proprietà <tt>FillStyle</tt> sul <tt>SOLID</tt>modo di riempimento.
  
▼以下のサンプルコードでは、四角形オブジェクトを作成して、赤の単一色 (RGB 値: 255、0、0) で塗りつぶします。
+
L'esempio seguente crea una forma rettangolare e un riempimento rosso (valore RGB 255, 0, 0):
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 163: Line 162:
 
</source>
 
</source>
  
===▼色のグラデーション===
+
=== Sfumatura di colore ===
  
<tt>FillStyle</tt> 属性に <tt>GRADIENT</tt> を設定すると、{{OOo}} ドキュメント上の塗りつぶし領域に対して、色のグラデーションを施すことができます。
+
Se si imposta la proprietà <tt>FillStyle</tt> su <tt>GRADIENT</tt> è possibile applicare una sfumatura di colore a qualsiasi area di riempimento di un documento {{OOo}}.
  
事前定義されたグラデーションを適用する場合は、<tt>FillTransparenceGradientName</tt> 属性に該当するグラデーション名を指定します。グラデーションを定義する場合は、<idl>com.sun.star.awt.Gradient</idl> 構造体の形で必要な設定を指定して、<tt>FillGradient</tt> 属性に渡します。▼この属性には、以下のオプションを使用できます。
+
Per applicare una sfumatura di colore predefinita, è possibile assegnare il nome associato della proprietà <tt>FillTransparenceGradientName</tt>. Per definire una sfumatura di colore personalizzata, dovete completare una struttura <idl>com.sun.star.awt.Gradient</idl> per assegnare la proprietà <tt>FillGradient</tt>, che dispone delle opzioni seguenti:
  
;<tt>Style (Enum)</tt>:線形や放射線状などのグラデーションの種類の指定 (<idl>com.sun.star.awt.GradientStyle</idl> に定められたデフォルト値)
+
;<tt>Style (Enum)</tt>:tipo di sfumatura, ad esempio, lineare o radiale (valori predefiniti conformi a <idl>com.sun.star.awt.GradientStyle</idl>)
;<tt>StartColor (Long)</tt>:グラデーションの開始色。
+
;<tt>StartColor (Long)</tt>:Colore iniziale di una sfumatura di colore
;<tt>EndColor (Long)</tt>:グラデーションの開始色。
+
;<tt>EndColor (Long)</tt>:Colore finale di una sfumatura di colore
;<tt>Angle (Short)</tt>:10 分の 1 度単位で指定したグラデーションの角度。
+
;<tt>Angle (Short)</tt>:Angolo della sfumatura di colore in decimi di grado
;<tt>XOffset (Short)</tt>:100 分の 1 ミリ単位で指定した、グラデーション開始点の X 座標。
+
;<tt>XOffset (Short)</tt>:Coordinata X in corrispondenza della quale inizia la sfumatura di colore, specificata in centesimi di millimetro
;<tt>YOffset (Short)</tt>:100 分の 1 ミリ単位で指定した、グラデーション開始点の Y 座標。
+
;<tt>YOffset (Short)</tt>:Coordinata Y in corrispondenza della quale inizia la sfumatura di colore, specificata in centesimi di millimetro
;<tt>StartIntensity (Short)</tt>:パーセント単位で指定した <tt>StartColor</tt> の強度 ({{OOo}} Basic では 100 パーセント以上の値も指定可能)
+
;<tt>StartIntensity (Short)</tt>:Intensità di <tt>StartColor</tt> come percentuale (in {{OOo}} Basic, si possono specificare anche valori superiori al 100 percento)
;<tt>EndIntensity (Short)</tt>:パーセント単位で指定した <tt>EndColor</tt> の強度 ({{OOo}} Basic では 100 パーセント以上の値も指定可能)
+
;<tt>EndIntensity (Short)</tt>:Intensità di <tt>EndColor</tt> come percentuale (in {{OOo}} Basic, si possono specificare anche valori superiori al 100 percento)
<tt>StepCount (Short)</tt>:{{OOo}} に計算させるグラデーションのステップ数。
+
;<tt>StepCount (Short)</tt>:Numero di gradazioni di colore che {{OOo}} deve calcolare per le sfumature
  
以下のサンプルコードでは、<idl>com.sun.star.awt.Gradient</idl>構造体を用いてグラデーションを施す方法を示します。
+
L'esempio seguente dimostra l'uso delle sfumature di colore con l'ausilio della struttura <idl>com.sun.star.awt.Gradient</idl>:
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 214: Line 213:
 
</source>
 
</source>
  
このサンプルコードでは、線形のグラデーションを施しています (<tt>Style = LINEAR</tt>)。グラデーションは開始色 (<tt>StartColor</tt>) を赤、終了色 (<tt>Angle</tt>) を緑として、角度 (<tt>EndColor</tt>) を 45 度にしています。▼開始色と終了色の強度 (<tt>StartIntensity</tt> および <tt>EndIntensity</tt>) はともに 150 パーセントとしてあるので、<tt>StartColor </tt><tt> 属性の指定色よりも明るく\'95\'5c示されます。EndColor</tt>グラデーションする色のステップ数は 100 段階としてあります (<tt>StepCount</tt>)
+
Questo esempio crea una sfumatura di colore lineare (<tt>Style = LINEAR</tt>). La sfumatura inizia con il rosso (<tt>StartColor</tt>) nell'angolo superiore sinistro e si estende a un angolo di 45 gradi (<tt>Angle</tt>) fino al verde (<tt>EndColor</tt>) nell'angolo inferiore destro. L’intensità di colore dei colori iniziale e finale è 150 percento (<tt>StartIntensity</tt> e <tt>EndIntensity</tt>) pertanto i colori risultano più brillanti rispetto ai valori specificati nelle proprietà <tt>StartColor</tt> e <tt>EndColor</tt>. La sfumatura di colore è rappresentata utilizzando un centinaio di singoli colori sfumati (<tt>StepCount</tt>).
  
===▼ハッチング===
+
=== Tratteggi ===
  
塗りつぶしにハッチングを施す場合は、<tt>FillStyle</tt> 属性を <tt>HATCH</tt> に設定しておく必要があります。▼ハッチング用のプログラムコードは、グラデーションの場合とよく似た手順を取ります。ここでは、ハッチングの模様を指定するのに <idl>com.sun.star.drawing.Hatch</idl> 構造体を使用します。▼こうしたハッチング用の\'8d\'5c造体には、以下の属性を指定できます。
+
Per creare un riempimento tratteggiato, la proprietà <tt>FillStyle</tt> deve essere impostata su <tt>HATCH</tt>. Il codice del programma per definire il tratteggio è molto simile al codice per le sfumature di colore. Anche in questo caso una struttura ausiliaria, <idl>com.sun.star.drawing.Hatch</idl>, è utilizzata per definire l'aspetto dei tratteggi. La struttura dei tratteggi ha le seguenti proprietà:
  
;<tt>Style (Enum)</tt>:横線、横縦線、横縦斜線などのハッチングの種類の指定 (<tt>com.sun.star.awt.HatchStyle</tt> に定められたデフォルト値)
+
;<tt>Style (Enum)</tt>:Tipo di tratteggio: semplice, squadrato, o squadrato con diagonali (valori predefiniti conformi a <tt>com.sun.star.awt.HatchStyle</tt>)
;<tt>Color (Long)</tt>: 線の色。
+
;<tt>Color (Long)</tt>:Colore delle linee
;<tt>Distance (Long)</tt>:100 分の 1 ミリ単位で指定した、線の間隔。
+
;<tt>Distance (Long)</tt>:Distanza tra le linee, espressa in centesimi di millimetro
;<tt>Angle (Short)</tt>:10 分の 1 度単位で指定したハッチングの角度。
+
;<tt>Angle (Short)</tt>:Angolo del tratteggio in decimi di grado
  
▼以下のサンプルコードは、ハッチング指定用の\'8d\'5c造体の使用法を示します。
+
L'esempio seguente dimostra l'uso di una struttura di tratteggio:
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 259: Line 258:
 
</source>
 
</source>
  
このサンプルコードでは、線の種類を横線 (<tt>HatchStyle = SINGLE</tt>) にして、ハッチングの角度 (<tt>Angle</tt>) を 45 度にしています。▼また線の\'95\'5c示色 (<tt>Color</tt>) は灰色、線の間隔 (<tt>Distance</tt>) は 0.2 ミリメートルとしています。
+
Questo codice crea una struttura di tratteggio semplice (<tt>HatchStyle = SINGLE</tt>) le cui linee sono ruotate di 45 gradi (<tt>Angle</tt>). Le linee sono grigio scuro (<tt>Color</tt>) e sono distanziate di 0,2 millimetri (<tt>Distance</tt>).
  
=== ビットマップ ===
+
=== Bitmap ===
  
ビットマップによるプロジェクションを行うには、<tt>FillStyle</tt> 属性に <tt>BITMAP</tt> を指定する必要があります。必要なビットマップが {{OOo}} 上にすでに配置されているのであれば、<tt>FillBitMapName</tt> 属性にその名前を指定し、<tt>FillBitmapMode</tt> 属性に表示スタイル (シンプル、繰り返し、拡大) を指定します (<idl>com.sun.star.drawing.BitmapMode</idl> に定められたデフォルト値)
+
Per utilizzare la proiezione bitmap come riempimento, impostate la proprietà <tt>FillStyle</tt> su <tt>BITMAP</tt>. Se la bitmap è già disponibile in {{OOo}}, è sufficiente specificarne il nome nella proprietà <tt>FillBitMapName</tt> e il modello di visualizzazione
 +
(semplice, affiancata, o allungata) nella proprietà <tt>FillBitmapMode</tt> (valori predefiniti conformi a <idl>com.sun.star.drawing.BitmapMode</idl>).
  
外部のビット\'83\'7dップファイルを使用する場合は、その URL <tt>FillBitmapURL</tt> 属性に指定します。
+
Per utilizzare un file bitmap esterno, specificatene l'URL nella proprietà <tt>FillBitmapURL</tt>.
  
以下のサンプルコードでは、四角形を描画して、{{OOo}} に用意されている Sky というビットマップで、その中を埋めています。
+
L'esempio seguente crea una rettangolo e affianca la bitmap Sky disponibile in {{OOo}} per riempire l'area del rettangolo:
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 295: Line 295:
 
</source>
 
</source>
  
=== 透過性あり ===
+
=== Trasparenza ===
  
塗りつぶしをする際には、その透過性を指定できます。▼最も簡単な指定法は、<tt>FillTransparence</tt> 属性を利用することです。
+
È possibile regolare la trasparenza di qualsiasi riempimento applicato. Il modo più semplice di modificare la trasparenza di un elemento di disegno è rappresentato dall'utilizzo della proprietà <tt>FillTransparence</tt>.
  
▼以下のサンプルコードでは、赤色の四角形を描画し、その透過性を 50 パーセントに設定しています。
+
L'esempio seguente crea un rettangolo rosso con una trasparenza del 50 percento.
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 327: Line 327:
 
</source>
 
</source>
  
<tt>FillTransparence</tt> 属性の値を 100 とすると、塗りつぶしは完全な透明になります。
+
Per rendere trasparente il riempimento, impostare la proprietà <tt>FillTransparence</tt> su 100.
  
<idl>com.sun.star.drawing.FillProperties</idl> サービスには、<tt>FillTransparence</tt> 属性以外にも <tt>FillTransparenceGradient</tt> という属性が用意されています。▼この属性は、塗りつぶし領域のグラデーション指定に使用します。
+
Oltre alla proprietà <tt>FillTransparence</tt>, il servizio <idl>com.sun.star.drawing.FillProperties</idl> fornisce anche la proprietà <tt>FillTransparenceGradient</tt>, la quale permette di definire una sfumatura che specifica la trasparenza dell'area di riempimento.
  
===▼線の属性===
+
=== Proprietà delle linee ===
  
外枠の線を表示可能なすべてのオブジェクトは、<idl>com.sun.star.drawing.LineStyle</idl> サービスをサポートしています。▼このサービスに用意されている代\'95\'5c的な属性としては、以下のものがあります。
+
Tutti gli oggetti disegno che hanno un bordo supportano il servizio <idl>com.sun.star.drawing.LineStyle</idl>. Di seguito sono elencate alcune delle
 +
proprietà offerte da questo servizio:
  
;<tt>LineStyle (Enum)</tt>:線の種類 (<idl>com.sun.star.drawing.LineStyle</idl> に定められたデフォルト値)
+
;<tt>LineStyle (Enum)</tt>:Tipo di linea (valori predefiniti conformi a <idl>com.sun.star.drawing.LineStyle</idl>)
;<tt>LineColor (Long)</tt>:線の色。
+
;<tt>LineColor (Long)</tt>:Colore della linea
;<tt>LineTransparence (Short)</tt>:線の透過性。
+
;<tt>LineTransparence (Short)</tt>:Trasparenza della linea
;<tt>LineWidth (Long)</tt>:100 分の 1 ミリ単位で指定した線の太さ。
+
;<tt>LineWidth (Long)</tt>:Spessore della linea espresso in centesimi di millimetro
;<tt>LineJoint (Enum)</tt>:接続点への遷移 (<idl>com.sun.star.drawing.LineJoint</idl> に定められたデフォルト値)
+
;<tt>LineJoint (Enum)</tt>:Transizioni ai punti di connessione (valori predefiniti conformi
 +
a <idl>com.sun.star.drawing.LineJoint</idl>)
  
以下のサンプルコードは外枠付きの四角形を描画するもので、線の種類を実線 (<tt>LineStyle = SOLID</tt>)、線の幅 (<tt>LineWidth</tt>) を 5 ミリメートルとし、線の透過性を 50 パーセントとしています。▼外枠線の頂点の形状は、直角にするように指定しています (<tt>LineJoint = MITER</tt>)
+
L'esempio seguente crea un rettangolo con bordo pieno (<tt>LineStyle = SOLID</tt>) di 5 millimetri di spessore (<tt>LineWidth</tt>) e trasparente al 50 percento. I bordi destro e sinistro della linea si estendono ai loro punti di reciproca intersezione (<tt>LineJoint = MITER</tt>) per formare un angolo retto.
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 372: Line 374:
 
</source>
 
</source>
  
<idl>com.sun.star.drawing.LineStyle</idl> サービスには、上記に一覧した属性以外にも、点線や破線を描画するためのオプションが用意されています。▼詳細情報については、{{OOo}} の『API reference』を参照してください。
+
Oltre alle proprietà elencate, il servizio <idl>com.sun.star.drawing.LineStyle</idl> fornisce opzioni per il disegno di linee punteggiate o tratteggiate. Per ulteriori informazioni, consultate il riferimento dell'API di {{OOo}}.
  
===▼テキスト属性 (\'90\'7d形描画オブジェクト)===
+
=== Proprietà del testo (oggetti di disegno) ===
  
<idl>com.sun.star.style.CharacterProperties</idl> サービスおよび <idl>com.sun.star.style.ParagraphProperties</idl> サービスでは、図形描画オブジェクト内でテキストを書式設定できます。これらのサービスは、個々の文字や段落に関する指定を行うものですが、詳細については「[[Documentation/BASIC Guide/Text Documents|文書ドキュメント]]」で説明しています。
+
I servizi <idl>com.sun.star.style.CharacterProperties</idl> e <idl>com.sun.star.style.ParagraphProperties</idl> formattano il testo negli oggetti di disegno. Questi servizi sono relativi ai singoli caratteri e paragrafi e sono descritti in maggior dettaglio in [[Documentation/BASIC Guide/Text Documents|Documenti di testo]].
  
以下のサンプルコードでは、描画した四角形にテキストを挿入し、<idl>com.sun.star.style.CharacterProperties</idl> サービスを用いたフォントの書式指定を行なっています。
+
L'esempio seguente inserisce il testo in un rettangolo e formatta il servizio dei caratteri <idl>com.sun.star.style.CharacterProperties</idl>.
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 404: Line 406:
 
</source>
 
</source>
  
上記のサンプルコードでは、四角形オブジェクトの <tt>String</tt> 属性を用いて表示テキストを指定してから、このテキストの書式設定を <idl>com.sun.star.style.CharacterProperties</idl> サービスの <tt>CharWeight</tt> および <tt>CharFontName</tt> 属性を利用して行なっています。
+
Questo codice utilizza la proprietà <tt>String</tt>del rettangolo per inserire il testo e le proprietà <tt>CharWeight</tt> e <tt>CharFontName</tt> del servizio <idl>com.sun.star.style.CharacterProperties</idl> per formattare il carattere del testo.
  
▼オブジェクト中へテキストを\'91\'7d入するには、\'90\'7d形描画ページ上に該当するオブジェクトを事前に追加しておく必要があります。図形描画オブジェクト内でのテキストの表示位置と書式に関しては、<idl>com.sun.star.drawing.Text</idl> サービスも利用できます。▼このサービスに用意されている代\'95\'5c的な属性としては、以下のものがあります。
+
Il testo può essere inserito solo una volta aggiunto l'oggetto di disegno alla pagina di disegno. Potete inoltre utilizzare il servizio <idl>com.sun.star.drawing.Text</idl> per
 +
posizionare e formattare il testo nell'oggetto di disegno. Di seguito sono riportate alcune delle proprietà più importanti di questo servizio:
  
;<tt>TextAutoGrowHeight (Boolean)</tt>:図形描画要素の高さを、その中の表示テキストに合わせる指定。
+
;<tt>TextAutoGrowHeight (Boolean)</tt>:Adatta l'altezza dell'elemento di disegno al testo che contiene
;<tt>TextAutoGrowWidth (Boolean)</tt>:図形描画要素の幅を、その中の表示テキストに合わせる指定。
+
;<tt>TextAutoGrowWidth (Boolean)</tt>:Adatta la larghezza dell'elemento di disegno al testo che contiene
;<tt>TextHorizontalAdjust (Enum)</tt>:図形描画要素内のテキストの水平位置の指定 (<idl>com.sun.star.drawing.TextHorizontalAdjust</idl> に定められたデフォルト値)
+
;<tt>TextHorizontalAdjust (Enum)</tt>:Posizione orizzontale del testo all'interno dell'elemento di disegno (valori predefiniti conformi a <idl>com.sun.star.drawing.TextHorizontalAdjust</idl>)
;<tt>TextVerticalAdjust (Enum)</tt>:図形描画要素内のテキストの垂直位置の指定 (<idl>com.sun.star.drawing.TextVerticalAdjust</idl> に定められたデフォルト値)
+
;<tt>TextVerticalAdjust (Enum)</tt>:Posizione verticale del testo all'interno dell'elemento di disegno (valori predefiniti conformi a <idl>com.sun.star.drawing.TextVerticalAdjust</idl>)
;<tt>TextLeftDistance (Long)</tt>:100 分の 1 ミリ単位で指定した、図形描画要素の左端からテキストまでの間隔。
+
;<tt>TextLeftDistance (Long)</tt>:Distanza a sinistra tra l'elemento di disegno e il testo in centesimi di millimetro
;<tt>TextRightDistance (Long)</tt>:100 分の 1 ミリ単位で指定した、図形描画要素の右端からテキストまでの間隔。
+
;<tt>TextRightDistance (Long)</tt>:Distanza a destra tra l'elemento di disegno e il testo in centesimi di millimetro
;<tt>TextUpperDistance (Long)</tt>:100 分の 1 ミリ単位で指定した、図形描画要素の上端からテキストまでの間隔。
+
;<tt>TextUpperDistance (Long)</tt>:Distanza superiore tra l'elemento di disegno e il testo in centesimi di millimetro
;<tt>TextLowerDistance (Long)</tt>:100 分の 1 ミリ単位で指定した、図形描画要素の下端からテキストまでの間隔。
+
;<tt>TextLowerDistance (Long)</tt>:Distanza inferiore tra l'elemento di disegno e il testo in centesimi di millimetro
  
▼以下のサンプルコードは、これらの属性の使用例です。
+
L'esempio seguente dimostra l'uso delle proprietà citate.
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 451: Line 454:
 
</source>
 
</source>
  
このサンプルコードでは、ページ上に図形描画要素を挿入してからテキストを挿入し、このテキストの配置位置を <tt>TextVerticalAdjust</tt> および <tt>TextHorizontalAdjust</tt> 属性を用いて、図形描画オブジェクトの左上隅に設定しています。▼また\'90\'7d形描画要素の外形線からテキストまでの間隔は、3 ミリメートルとしています。
+
Questo codice inserisce un elemento di disegno in una pagina, quindi aggiunge il testo all'angolo superiore sinistro dell'oggetto disegno utilizzando le proprietà <tt>TextVerticalAdjust</tt> e <tt>TextHorizontalAdjust</tt>. La distanza minima tra il bordo del testo e l'oggetto disegno è impostata su tre millimetri.
  
===▼影の属性===
+
=== Proprietà dell'ombra ===
  
<idl>com.sun.star.drawing.ShadowProperties</idl> サービスを使用して、ほとんどの図形描画オブジェクトに影を追加できます。 ▼このサービスでは、以下の属性を利用できます。
+
È possibile aggiungere un'ombra alla maggior parte degli oggetti disegno con il servizio <idl>com.sun.star.drawing.ShadowProperties</idl>. Le proprietà di questo servizio sono:
  
;<tt>Shadow (Boolean)</tt>:影を有効化する指定。
+
;<tt>Shadow (Boolean)</tt>:Attiva l'ombra
;<tt>ShadowColor (Long)</tt>:影の色。
+
;<tt>ShadowColor (Long)</tt>:Colore dell'ombra
;<tt>ShadowTransparence (Short)</tt>:影を透明にする指定。
+
;<tt>ShadowTransparence (Short)</tt>:Trasparenza dell'ombra
;<tt>ShadowXDistance (Long)</tt>:100 分の 1 ミリ単位で指定した、影と図形描画オブジェクトの垂直方向の間隔。
+
;<tt>ShadowXDistance (Long)</tt>:Distanza verticale dell'ombra dall'oggetto disegno in centesimi di millimetro
;<tt>ShadowYDistance (Long)</tt>:100 分の 1 ミリ単位で指定した、影と図形描画オブジェクトの水平方向の間隔。
+
;<tt>ShadowYDistance (Long)</tt>:Distanza orizzontale dell'ombra dall'oggetto disegno in centesimi di millimetro
  
▼以下のサンプルコードでは、四角形のオブジェクトを作成し、水平および垂直方向のオフセットを 2 ミリメートルとした影を\'95\'5c示します。▼影の色は灰色、透過性は 50 パーセントとしています。
+
L'esempio seguente crea una rettangolo con un'ombra scostata di 2 millimetri dal rettangolo in senso verticale e orizzontale. L'ombra è resa in grigio scuro con il 50 percento di trasparenza.
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 493: Line 496:
 
</source>
 
</source>
  
==▼各種の\'90\'7d形描画オブジェクトの概要==
+
== Panoramica dei diversi oggetti di disegno ==
  
===▼四角形オブジェクト===
+
=== Forme rettangolari ===
  
四角形オブジェクト (<idl>com.sun.star.drawing.RectangleShape</idl>) は、書式設定オブジェクトの以下のサービスをサポートしています。
+
Gli oggetti di forma rettangolare (<idl>com.sun.star.drawing.RectangleShape</idl>) supportano i seguenti servizi di formattazione:
  
 
;<tt>Fill properties</tt>:<idl>com.sun.star.drawing.FillProperties</idl>
 
;<tt>Fill properties</tt>:<idl>com.sun.star.drawing.FillProperties</idl>
 
;<tt>Line properties</tt>:<idl>com.sun.star.drawing.LineProperties</idl>
 
;<tt>Line properties</tt>:<idl>com.sun.star.drawing.LineProperties</idl>
;<tt>Text properties</tt>:<idl>com.sun.star.drawing.Text</idl> (with <idl>com.sun.star.style.CharacterProperties</idl> および <idl>com.sun.star.style.ParagraphProperties</idl>)
+
;<tt>Text properties</tt>:<idl>com.sun.star.drawing.Text</idl> (con <idl>com.sun.star.style.CharacterProperties</idl> e <idl>com.sun.star.style.ParagraphProperties</idl>)
 
;<tt>Shadow properties</tt>:<idl>com.sun.star.drawing.ShadowProperties</idl>
 
;<tt>Shadow properties</tt>:<idl>com.sun.star.drawing.ShadowProperties</idl>
;<tt>CornerRadius (Long)</tt>:100 分の 1 ミリ単位で指定した、角の丸みの半径。
+
;<tt>CornerRadius (Long)</tt>:raggio per l'arrotondamento degli angoli espresso in centesimi di millimetro
  
===▼円および楕円オブジェクト===
+
=== Cerchi ed ellissi ===
  
<idl>com.sun.star.drawing.EllipseShape</idl> サービスは、円および楕円の表示関係の処理を行うもので、以下のサービスをサポートしています。
+
Il servizio <idl>com.sun.star.drawing.EllipseShape</idl> è responsabile di cerchi ed ellissi e supporta i seguenti servizi:
  
 
;<tt>Fill properties</tt>:<idl>com.sun.star.drawing.FillProperties</idl>
 
;<tt>Fill properties</tt>:<idl>com.sun.star.drawing.FillProperties</idl>
 
;<tt>Line properties</tt>:<idl>com.sun.star.drawing.LineProperties</idl>
 
;<tt>Line properties</tt>:<idl>com.sun.star.drawing.LineProperties</idl>
;<tt>Text properties</tt>:<idl>com.sun.star.drawing.Text</idl> (with <idl>com.sun.star.style.CharacterProperties</idl> および <idl>com.sun.star.style.ParagraphProperties</idl>)
+
;<tt>Text properties</tt>:<idl>com.sun.star.drawing.Text</idl> (con <idl>com.sun.star.style.CharacterProperties</idl> e <idl>com.sun.star.style.ParagraphProperties</idl>)
 
;<tt>Shadow properties</tt>:<idl>com.sun.star.drawing.ShadowProperties</idl>
 
;<tt>Shadow properties</tt>:<idl>com.sun.star.drawing.ShadowProperties</idl>
  
▼円と楕円オブジェクトには、これらの他に以下の 3 つの属性が用意されています。
+
Oltre a questi servizi, cerchi ed ellissi offrono le seguenti proprietà:
  
<tt>CircleKind (Enum)</tt>:円または楕円の種類の指定 (<idl>com.sun.star.drawing.CircleKind</idl> に定められたデフォルト値)
+
;<tt>CircleKind (Enum)</tt>:Tipo di cerchio o ellissi (valori predefiniti conformi a <idl>com.sun.star.drawing.CircleKind</idl> )
;<tt>CircleStartAngle (Long)</tt>:10 分の 1 度単位で指定した、切片の開始角 (円および楕円形の切片の描画のみで有効)
+
;<tt>CircleStartAngle (Long)</tt>:Angolo iniziale in decimi di grado (solo per segmenti di cerchio o ellisse)
;<tt>CircleEndAngle (Long)</tt>:10 分の 1 度単位で指定した、切片の終了角 (円および楕円形の切片の描画のみで有効)
+
;<tt>CircleEndAngle (Long)</tt>:Angolo finale in decimi di grado (solo per segmenti di cerchio o ellisse)
  
<tt>CircleKind</tt> 属性は、円全体を描画するか、あるいは切片や円弧として描画するかを指定します。▼指定可\'94\'5cな定数値は以下のものです。
+
La proprietà <tt>CircleKind</tt> determina se un oggetto è un cerchio completo, una porzione circolare o una sezione di un cerchio. Sono disponibili i seguenti valori:
  
;<idl>com.sun.star.drawing.CircleKind.FULL</idl>:円または楕円。
+
;<idl>com.sun.star.drawing.CircleKind.FULL</idl>:Cerchio completo o ellisse completa
;<idl>com.sun.star.drawing.CircleKind.CUT</idl>:円の切片 (円弧の両端を直線で結んだ図形)
+
;<idl>com.sun.star.drawing.CircleKind.CUT</idl>:Sezione di cerchio (cerchio parziale le cui interfacce sono collegate direttamente)
;<idl>com.sun.star.drawing.CircleKind.SECTION</idl>:円の断面。
+
;<idl>com.sun.star.drawing.CircleKind.SECTION</idl>:Porzione di cerchio
;<idl>com.sun.star.drawing.CircleKind.ARC</idl>:角度 (円の線は含まない)
+
;<idl>com.sun.star.drawing.CircleKind.ARC</idl>:Angolo (non comprendente la linea del cerchio)
  
▼以下のサンプルコードは、中心角 70 度の扇型を描画します (開始角を 20 度、終了角 90 度に設定)
+
L'esempio seguente crea una porzione circolare con un angolo di 70 gradi (prodotta dalla differenza tra l'angolo iniziale di 20 gradi e l'angolo finale di 90 gradi).
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 555: Line 558:
 
</source>
 
</source>
  
=== ===
+
=== Linee ===
  
{{OOo}} では、線のオブジェクトに対する <idl>com.sun.star.drawing.LineShape</idl> サービスが用意されています。▼線オブジェクトは、\'95\'5c面関係の指定を除いた、基\'96\'7b的な\'95\'5c示指定サービスをすべてサポートしています。▼<tt>LineShape</tt> サービスで利用する属性は以下のものです。
+
{{OOo}} fornisce il servizio <idl>com.sun.star.drawing.LineShape</idl> per gli oggetti linea. Gli oggetti linea supportano tutti i servizi di formattazione generale ad eccezione delle aree. Di seguito sono riportate tutte le proprietà associate al servizio <tt>LineShape</tt>:
  
 
;<tt>Line properties</tt>:<idl>com.sun.star.drawing.LineProperties</idl>
 
;<tt>Line properties</tt>:<idl>com.sun.star.drawing.LineProperties</idl>
;<tt>Text properties</tt>:<idl>com.sun.star.drawing.Text</idl> (with <idl>com.sun.star.style.CharacterProperties</idl> および <idl>com.sun.star.style.ParagraphProperties</idl>)
+
;<tt>Text properties</tt>:<idl>com.sun.star.drawing.Text</idl> (con <idl>com.sun.star.style.CharacterProperties</idl> e <idl>com.sun.star.style.ParagraphProperties</idl>)
 
;<tt>Shadow properties</tt>:<idl>com.sun.star.drawing.ShadowProperties</idl>
 
;<tt>Shadow properties</tt>:<idl>com.sun.star.drawing.ShadowProperties</idl>
  
▼以下のサンプルコードでは、線オブジェクトを作成し、上記の属性を用いて各種の\'95\'5c示を設定します。▼なお線の始点は <tt>Location</tt> 属性で指定しますが、終点は <tt>Size</tt> 属性の座標による間接的に指定します。
+
L'esempio seguente crea e formatta una linea con l'ausilio delle proprietà citate. L'origine della linea è specificata nella proprietà<tt>Location</tt> mentre le coordinate elencate nella proprietà <tt>Size</tt> specificano il punto finale della linea.
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 587: Line 590:
 
</source>
 
</source>
  
===▼多角形オブジェクト===
+
=== Forme polipoligonali ===
  
{{OOo}} は、<idl>com.sun.star.drawing.PolyPolygonShape</idl> サービスを使用した複雑な多角形オブジェクトもサポートしています。▼ただし正確には、ここでの PolyPolygon は単純な多角形ではなく、複合多角形を意味します。▼そのため、1 つのオブジェクト全体は、個々の頂点を指定する各種のリストから\'8d\'5c成されます。
+
{{OOo}} supporta anche forme poligonali complesse tramite il servizio <idl>com.sun.star.drawing.PolyPolygonShape</idl>. In senso stretto, un polipoligono non è un poligono semplice ma un poligono multiplo. È pertanto possibile specificare elenchi indipendenti contenenti punti angolari e combinarli per formare un oggetto completo.
  
▼多角形オブジェクトに対しても、四角形同様の\'95\'5c示設定属性が各種用意されています。
+
Come per le forme rettangolari, tutte le proprietà di formattazione degli oggetti di disegno vengono fornite anche per i polipoligoni:
  
 
;<tt>Fill properties</tt>:<idl>com.sun.star.drawing.FillProperties</idl>
 
;<tt>Fill properties</tt>:<idl>com.sun.star.drawing.FillProperties</idl>
 
;<tt>Line properties</tt>:<idl>com.sun.star.drawing.LineProperties</idl>
 
;<tt>Line properties</tt>:<idl>com.sun.star.drawing.LineProperties</idl>
;<tt>Text properties</tt>:<idl>com.sun.star.drawing.Text</idl> (with <idl>com.sun.star.style.CharacterProperties</idl> および <idl>com.sun.star.style.ParagraphProperties</idl>)
+
;<tt>Text properties</tt>:<idl>com.sun.star.drawing.Text</idl> (con <idl>com.sun.star.style.CharacterProperties</idl> e <idl>com.sun.star.style.ParagraphProperties</idl>)
 
;<tt>Shadow properties</tt>:<idl>com.sun.star.drawing.ShadowProperties</idl>
 
;<tt>Shadow properties</tt>:<idl>com.sun.star.drawing.ShadowProperties</idl>
  
また <tt>PolyPolygonShape</tt> サービスには、多角形の座標指定用に、以下の属性も用意されています。
+
Il servizio <tt>PolyPolygonShape</tt> dispone anche di una proprietà che permette di definire le coordinate di un poligono:
  
* <tt>PolyPolygon (Array)</tt>:多角形の座標を指定するフィールド (<idl>com.sun.star.awt.Point</idl> タイプのデータを格納する配列)
+
* <tt>PolyPolygon (Array)</tt>: campo contenente le coordinate del poligono (doppia matrice con punti del tipo<idl>com.sun.star.awt.Point</idl>)
  
以下のサンプルコードは、<tt>PolyPolygonShape</tt> サービスを用いて三角形を描画する方法の一例です。
+
L'esempio seguente mostra come definire un triangolo con il servizio <tt>PolyPolygonShape</tt>.
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 627: Line 630:
 
</source>
 
</source>
  
▼ここでの多角形は、個々の頂点を絶対座標により指定するため、多角形のサイズや\'95\'5c示位置などの指定は不要です。▼その代わりここでは、頂点の座標データを収めた配列を用意して、これを第 2 の配列に変換 (<tt>())Array(Coordinates() による処理) してから、多角形の頂点指定用属性に代入しています。</tt>▼なお多角形への頂点指定を行う前には、多角形オブジェクトをドキュメント上に\'91\'7d入しておく必要があります。
+
Dato che i punti di un poligono sono definiti come valori assoluti, non è necessario specificare le dimensioni o la posizione iniziale di un poligono. Al contrario, occorre creare una matrice dei punti, includere tale matrice in una seconda matrice (utilizzando la chiamata <tt>Array(Coordinates()</tt>), quindi assegnare tale matrice al poligono. Prima di effettuare la chiamata corrispondente, dovrete inserire il poligono nel documento.
  
▼頂点指定用の配列を利用することで、複数の多角形を組み合わせた\'90\'7d形を\'8d\'5c築できます。▼たとえば、四角形の中に別の四角形を\'91\'7d入することで、穴の空いた四角形を描画できます。
+
La doppia matrice nella definizione permette di creare forme complesse mediante l'unione di diversi poligoni. Ad esempio, è possibile creare un rettangolo e quindi
 +
inserirne un altro al suo interno per creare un foro nel rettangolo originale:
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 677: Line 681:
 
</source>
 
</source>
  
このような操作を行う場合、どの領域が残り、どの領域が消去されるかが問題となりますが、{{OOo}} では「外部のオブジェクトの縁が多角形の外周部となる」という規則に従って処理されます。▼同様に、内側の縁は多角形の内周部となるので、こうした部分に穴が空くことになります。▼更に内側にくる縁がある場合は、そこから塗りつぶされた領域の描画が再開されます。
+
Per quanto riguarda quali aree sono riempite e quali sono vuote, {{OOo}} applica una regola semplice: il bordo della forma esterna corrisponde sempre al bordo esterno del polipoligono. La linea interna successiva costituisce il bordo interno della forma e marca la transizione al primo foro. Se è presente un'altra linea interna, quest'ultima
 +
contraddistingue la transizione a un'area riempita.
  
===▼\'90\'7dオブジェクト===
+
=== Immagini ===
  
最後に説明する図形描画要素は図オブジェクトです。これは <idl>com.sun.star.drawing.GraphicObjectShape</idl> サービスを利用します。▼このサービスは、{{OOo}} のすべての画像に対して利用可\'94\'5cで、各種の属性を通じて画像の\'95\'5c示に関する設定を行います。
+
Gli ultimi elementi di disegno qui presentati sono oggetti grafici basati sul servizio <idl>com.sun.star.drawing.GraphicObjectShape</idl>. Potrete utilizzarli con qualsiasi immagine in {{OOo}} e adattarne l'aspetto utilizzando un'intera gamma di proprietà.
  
▼\'90\'7dオブジェクトは、以下の 2 つの\'95\'5c示設定用属性をサポートしています。
+
Gli oggetti grafici supportano due delle proprietà generali di formattazione:
  
;<tt>Text properties</tt>:<idl>com.sun.star.drawing.Text</idl> (with <idl>com.sun.star.style.CharacterProperties</idl> および <idl>com.sun.star.style.ParagraphProperties</idl>)
+
;<tt>Text properties</tt>:<idl>com.sun.star.drawing.Text</idl> (con <idl>com.sun.star.style.CharacterProperties</idl> e <idl>com.sun.star.style.ParagraphProperties</idl>)
 
;<tt>Shadow properties</tt>:<idl>com.sun.star.drawing.ShadowProperties</idl>
 
;<tt>Shadow properties</tt>:<idl>com.sun.star.drawing.ShadowProperties</idl>
  
▼\'90\'7dオブジェクトのサポートするその他の属性には、以下のものがあります。
+
Le proprietà addizionali supportate dagli oggetti grafici sono le seguenti:
  
;<tt>GraphicURL (String)</tt>:図の URL。
+
;<tt>GraphicURL (String)</tt>:URL dell'immagine
<tt>AdjustLuminance (Short)</tt>:パーセント単位で指定した、色の輝度 (負の値も指定可能)
+
;<tt>AdjustLuminance (Short)</tt>:Luminanza dei colori, espressa come percentuale (sono ammessi anche i valori negativi)
;<tt>AdjustContrast (Short)</tt>:パーセント単位で指定した、色のコントラスト (負の値も指定可能)
+
;<tt>AdjustContrast (Short)</tt>:Contrasto, espresso come percentuale (sono ammessi anche i valori negativi)
;<tt>AdjustRed (Short)</tt>:パーセント単位で指定した、色の赤成分 (負の値も指定可能)
+
;<tt>AdjustRed (Short)</tt>:Valore del rosso, espresso come percentuale (sono ammessi anche i valori negativi)
;<tt>AdjustGreen (Short)</tt>:パーセント単位で指定した、色の緑成分 (負の値も指定可能)
+
;<tt>AdjustGreen (Short)</tt>:Valore del verde, espresso come percentuale (sono ammessi anche i valori negativi)
;<tt>AdjustBlue (Short)</tt>:パーセント単位で指定した、色の青成分 (負の値も指定可能)
+
;<tt>AdjustBlue (Short)</tt>:Valore del blu, espresso come percentuale (sono ammessi anche i valori negativi)
;<tt>Gamma (Short)</tt>:図のガンマ値。
+
;<tt>Gamma (Short)</tt>:Valore gamma di un'immagine
;<tt>Transparency (Short)</tt>:パーセント単位で指定した図の透過性。
+
;<tt>Transparency (Short)</tt>:Trasparenza di un'immagine, espressa come percentuale
;<tt>GraphicColorMode (enum)</tt>:標準、グレースケール、白黒などのカラーモード (<idl>com.sun.star.drawing.ColorMode</idl> に定められたデフォルト値)
+
;<tt>GraphicColorMode (enum)</tt>:Modalità del colore, per esempio standard, scala di grigi, bianco e nero (valore predefinito conforme a <idl>com.sun.star.drawing.ColorMode</idl> )
  
▼以下のサンプルコードは、ページへの\'90\'7dオブジェクトの\'91\'7d入法の例です。Dim Doc As Object
+
L'esempio seguente mostra come inserire una pagina in un oggetto grafico Dim Doc As Object.
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 734: Line 739:
 
</source>
 
</source>
  
上記のサンプルコードでは、<tt>test.jpg</tt> というファイル名の画像を挿入して、その表示設定を <tt>Adjust</tt> 関係の属性により行なっています。またここでは、画像の透過性を 40 パーセントとし、カラーモードは標準のままとしています (<tt>GraphicColorMode = STANDARD</tt>)
+
Questo codice inserisce l'immagine <tt>test.jpg</tt> e ne adatta l'aspetto utilizzando le proprietà <tt>Adjust</tt>. In questo esempio, le immagini sono raffigurate come trasparenti al 40 percento senza altre conversioni di colore (<tt>GraphicColorMode = STANDARD</tt>).
  
 
{{PDL1}}
 
{{PDL1}}
 
{{InterWiki_Languages_BasicGuide|articletitle=Documentation/BASIC Guide/Structure of Drawings}}
 
{{InterWiki_Languages_BasicGuide|articletitle=Documentation/BASIC Guide/Structure of Drawings}}

Latest revision as of 18:21, 25 June 2009

Template:EN/Documentation/BASICGuideTOC/v2


Apache OpenOffice non limita il numero delle pagine di un documento disegno. Inoltre, è possibile progettare ogni pagina separatamente e non esistono limiti al numero degli elementi del disegno aggiungibili a una pagina.

Pagine

Le pagine di un disegno sono disponibili tramite l'elenco DrawPages. È possibile accedere alle singole pagine sia attraverso il numero che attraverso il nome. Se un documento ha una pagina denominata Slide 1, gli esempi seguenti sono identici.

Esempio 1:

Dim Doc As Object
Dim Page As Object
 
Doc = StarDesktop.CurrentComponent
Page = Doc.drawPages(0)

Esempio 2:

Dim Doc As Object
Dim Page As Object
 
Doc = StarDesktop.CurrentComponent
Page = Doc.drawPages.getByName("Slide 1")

Nell'esempio 1, la pagina è identificata dal suo numero (il conteggio inizia a 0). Nel secondo esempio, si accede alla pagina utilizzando il suo nome e il metodo getByName.

Dim sUrl As String, sFilter As String
Dim sOptions As String
Dim oSheets As Object, oSheet As Object
 
   oSheets = oDocument.Sheets
 
   If oSheets.hasByName("Link") Then
      oSheet = oSheets.getByName("Link")
   Else
      oSheet = oDocument.createInstance("com.sun.star.sheet.Spreadsheet")
      oSheets.insertByName("Link", oSheet)
      oSheet.IsVisible = False
   End If

La chiamata precedente restituisce un oggetto pagina che supporta il servizio com.sun.star.drawing.DrawPage. Questo servizio riconosce le proprietà seguenti:

BorderLeft (Long)
Bordo sinistro in centesimi di millimetro
BorderRight (Long)
Bordo destro in centesimi di millimetro
BorderTop (Long)
Bordo superiore in centesimi di millimetro
BorderBottom (Long)
bordo inferiore in centesimi di millimetro
Width (Long)
Larghezza della pagina in centesimi di millimetro
Height (Long)
Altezza della pagina in centesimi di millimetro
Number (Short)
Numero di pagine (la numerazione inizia con 1), sola lettura
Orientation (Enum)
Orientamento della pagina (conforme all'enumerazione com.sun.star.view.PaperOrientation)

La modifica di queste impostazioni incide su tutte le pagine del documento.

L'esempio seguente imposta il formato della pagina di un disegno appena aperto su 20 x 20 centimetri con un margine della pagina di 0,5 centimetri:

Dim Doc As Object
Dim Page As Object
 
Doc = StarDesktop.CurrentComponent
Page = Doc.drawPages(0)
 
Page.BorderLeft = 500
Page.BorderRight = 500
Page.BorderTop = 500
Page.BorderBottom = 500
 
Page.Width = 20000
Page.Height = 20000

Proprietà elementari degli oggetti di disegno

Gli oggetti disegno includono forme (rettangoli, cerchi e così via), linee e oggetti testo, che condividono una serie di funzioni comuni e supportano il servizio com.sun.star.drawing.Shape. Questo servizio definisce le proprietà Size e Position di un oggetto di disegno.

Apache OpenOffice Basic offre inoltre diversi altri servizi tramite i quali modificare tali proprietà, come la formattazione o l'applicazione di riempimenti. Le opzioni di formattazione disponibili dipendono dal tipo di oggetto disegno.

L'esempio seguente crea e inserisce un rettangolo nel disegno:

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
 
Doc = StarDesktop.CurrentComponent
Page = Doc.drawPages(0)
 
Point.x = 1000
Point.y = 1000
Size.Width = 10000
Size.Height = 10000
 
RectangleShape = Doc.createInstance("com.sun.star.drawing.RectangleShape")
RectangleShape.Size = Size
RectangleShape.Position = Point
 
Page.add(RectangleShape)

Questo esempio utilizza la chiamata StarDesktop.CurrentComponent per determinare quale documento è aperto. L'oggetto documento così determinato restituisce la prima pagina del disegno tramite la chiamata drawPages(0).

Vengono quindi inizializzate le strutture Point e Size con il punto di origine (angolo sinistro) e il formato dell'oggetto disegno. Le lunghezze sono specificate in centesimi di millimetro.

Il codice del programma utilizza quindi la chiamata Doc.createInstance per creare l'oggetto disegno rettangolo come specificato dal servizio com.sun.star.drawing.RectangleShape. Al termine, l'oggetto disegno è assegnato a una pagina utilizzando una chiamata Page.add.

Proprietà di riempimento

Questa sezione descrive quattro servizi e in ciascun caso il codice del programma di esempio utilizza un elemento di forma rettangolare che combina diversi tipi di formattazione. Le proprietà di riempimento vengono combinate nel servizio com.sun.star.drawing.FillProperties.

Apache OpenOffice riconosce quattro tipi principali di formattazione per un'area di riempimento. La variante più semplice è il riempimento a colore singolo. Le opzioni per definire le sfumature di colore e i tratteggi permettono di creare e introdurre altri colori. La quarta variante è l'opzione che consente di proiettare immagini preesistenti nell'area di riempimento.

Il modo riempimento di un oggetto disegno viene definito tramite la proprietà FillStyle. I valori consentiti sono definiti in com.sun.star.drawing.FillStyle.

Riempimenti a colore singolo

La proprietà principale per i riempimenti a colore singolo è la seguente:

FillColor (Long)
colore di riempimento di un'area.

Per utilizzare il modo riempimento, dovete impostare la proprietà FillStyle sul SOLIDmodo di riempimento.

L'esempio seguente crea una forma rettangolare e un riempimento rosso (valore RGB 255, 0, 0):

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.FillStyle = com.sun.star.drawing.FillStyle.SOLID
RectangleShape.FillColor = RGB(255,0,0)
 
Page.add(RectangleShape)

Sfumatura di colore

Se si imposta la proprietà FillStyle su GRADIENT è possibile applicare una sfumatura di colore a qualsiasi area di riempimento di un documento Apache OpenOffice.

Per applicare una sfumatura di colore predefinita, è possibile assegnare il nome associato della proprietà FillTransparenceGradientName. Per definire una sfumatura di colore personalizzata, dovete completare una struttura com.sun.star.awt.Gradient per assegnare la proprietà FillGradient, che dispone delle opzioni seguenti:

Style (Enum)
tipo di sfumatura, ad esempio, lineare o radiale (valori predefiniti conformi a com.sun.star.awt.GradientStyle)
StartColor (Long)
Colore iniziale di una sfumatura di colore
EndColor (Long)
Colore finale di una sfumatura di colore
Angle (Short)
Angolo della sfumatura di colore in decimi di grado
XOffset (Short)
Coordinata X in corrispondenza della quale inizia la sfumatura di colore, specificata in centesimi di millimetro
YOffset (Short)
Coordinata Y in corrispondenza della quale inizia la sfumatura di colore, specificata in centesimi di millimetro
StartIntensity (Short)
Intensità di StartColor come percentuale (in Apache OpenOffice Basic, si possono specificare anche valori superiori al 100 percento)
EndIntensity (Short)
Intensità di EndColor come percentuale (in Apache OpenOffice Basic, si possono specificare anche valori superiori al 100 percento)
StepCount (Short)
Numero di gradazioni di colore che Apache OpenOffice deve calcolare per le sfumature

L'esempio seguente dimostra l'uso delle sfumature di colore con l'ausilio della struttura com.sun.star.awt.Gradient:

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
Dim Gradient As New com.sun.star.awt.Gradient 
 
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
Gradient.Style = com.sun.star.awt.GradientStyle.LINEAR
Gradient.StartColor = RGB(255,0,0)
Gradient.EndColor = RGB(0,255,0)
Gradient.StartIntensity = 150   
Gradient.EndIntensity = 150
Gradient.Angle = 450
Gradient.StepCount = 100
 
RectangleShape.FillStyle = com.sun.star.drawing.FillStyle.GRADIENT
RectangleShape.FillGradient = Gradient
 
Page.add(RectangleShape)

Questo esempio crea una sfumatura di colore lineare (Style = LINEAR). La sfumatura inizia con il rosso (StartColor) nell'angolo superiore sinistro e si estende a un angolo di 45 gradi (Angle) fino al verde (EndColor) nell'angolo inferiore destro. L’intensità di colore dei colori iniziale e finale è 150 percento (StartIntensity e EndIntensity) pertanto i colori risultano più brillanti rispetto ai valori specificati nelle proprietà StartColor e EndColor. La sfumatura di colore è rappresentata utilizzando un centinaio di singoli colori sfumati (StepCount).

Tratteggi

Per creare un riempimento tratteggiato, la proprietà FillStyle deve essere impostata su HATCH. Il codice del programma per definire il tratteggio è molto simile al codice per le sfumature di colore. Anche in questo caso una struttura ausiliaria, com.sun.star.drawing.Hatch, è utilizzata per definire l'aspetto dei tratteggi. La struttura dei tratteggi ha le seguenti proprietà:

Style (Enum)
Tipo di tratteggio: semplice, squadrato, o squadrato con diagonali (valori predefiniti conformi a com.sun.star.awt.HatchStyle)
Color (Long)
Colore delle linee
Distance (Long)
Distanza tra le linee, espressa in centesimi di millimetro
Angle (Short)
Angolo del tratteggio in decimi di grado

L'esempio seguente dimostra l'uso di una struttura di tratteggio:

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
Dim Hatch As New com.sun.star.drawing.Hatch
 
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.FillStyle = com.sun.star.drawing.FillStyle.HATCH
 
Hatch.Style = com.sun.star.drawing.HatchStyle.SINGLE
Hatch.Color = RGB(64,64,64)
Hatch.Distance = 20
Hatch.Angle = 450
 
RectangleShape.FillHatch = Hatch
 
Page.add(RectangleShape)

Questo codice crea una struttura di tratteggio semplice (HatchStyle = SINGLE) le cui linee sono ruotate di 45 gradi (Angle). Le linee sono grigio scuro (Color) e sono distanziate di 0,2 millimetri (Distance).

Bitmap

Per utilizzare la proiezione bitmap come riempimento, impostate la proprietà FillStyle su BITMAP. Se la bitmap è già disponibile in Apache OpenOffice, è sufficiente specificarne il nome nella proprietà FillBitMapName e il modello di visualizzazione (semplice, affiancata, o allungata) nella proprietà FillBitmapMode (valori predefiniti conformi a com.sun.star.drawing.BitmapMode).

Per utilizzare un file bitmap esterno, specificatene l'URL nella proprietà FillBitmapURL.

L'esempio seguente crea una rettangolo e affianca la bitmap Sky disponibile in Apache OpenOffice per riempire l'area del rettangolo:

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.FillStyle = com.sun.star.drawing.FillStyle.BITMAP
RectangleShape.FillBitmapName = "Sky"
RectangleShape.FillBitmapMode = com.sun.star.drawing.BitmapMode.REPEAT
 
Page.add(RectangleShape)

Trasparenza

È possibile regolare la trasparenza di qualsiasi riempimento applicato. Il modo più semplice di modificare la trasparenza di un elemento di disegno è rappresentato dall'utilizzo della proprietà FillTransparence.

L'esempio seguente crea un rettangolo rosso con una trasparenza del 50 percento.

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.FillStyle = com.sun.star.drawing.FillStyle.SOLID
RectangleShape.FillTransparence = 50
RectangleShape.FillColor = RGB(255,0,0)
 
Page.add(RectangleShape)

Per rendere trasparente il riempimento, impostare la proprietà FillTransparence su 100.

Oltre alla proprietà FillTransparence, il servizio com.sun.star.drawing.FillProperties fornisce anche la proprietà FillTransparenceGradient, la quale permette di definire una sfumatura che specifica la trasparenza dell'area di riempimento.

Proprietà delle linee

Tutti gli oggetti disegno che hanno un bordo supportano il servizio com.sun.star.drawing.LineStyle. Di seguito sono elencate alcune delle proprietà offerte da questo servizio:

LineStyle (Enum)
Tipo di linea (valori predefiniti conformi a com.sun.star.drawing.LineStyle)
LineColor (Long)
Colore della linea
LineTransparence (Short)
Trasparenza della linea
LineWidth (Long)
Spessore della linea espresso in centesimi di millimetro
LineJoint (Enum)
Transizioni ai punti di connessione (valori predefiniti conformi

a com.sun.star.drawing.LineJoint)

L'esempio seguente crea un rettangolo con bordo pieno (LineStyle = SOLID) di 5 millimetri di spessore (LineWidth) e trasparente al 50 percento. I bordi destro e sinistro della linea si estendono ai loro punti di reciproca intersezione (LineJoint = MITER) per formare un angolo retto.

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.LineColor = RGB(128,128,128)
RectangleShape.LineTransparence = 50
RectangleShape.LineWidth = 500
RectangleShape.LineJoint = com.sun.star.drawing.LineJoint.MITER   
 
RectangleShape.LineStyle = com.sun.star.drawing.LineStyle.SOLID
 
Page.add(RectangleShape)

Oltre alle proprietà elencate, il servizio com.sun.star.drawing.LineStyle fornisce opzioni per il disegno di linee punteggiate o tratteggiate. Per ulteriori informazioni, consultate il riferimento dell'API di Apache OpenOffice.

Proprietà del testo (oggetti di disegno)

I servizi com.sun.star.style.CharacterProperties e com.sun.star.style.ParagraphProperties formattano il testo negli oggetti di disegno. Questi servizi sono relativi ai singoli caratteri e paragrafi e sono descritti in maggior dettaglio in Documenti di testo.

L'esempio seguente inserisce il testo in un rettangolo e formatta il servizio dei caratteri com.sun.star.style.CharacterProperties.

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
 
Page.add(RectangleShape)
 
RectangleShape.String = "This is a test"
RectangleShape.CharWeight = com.sun.star.awt.FontWeight.BOLD
RectangleShape.CharFontName = "Arial"

Questo codice utilizza la proprietà Stringdel rettangolo per inserire il testo e le proprietà CharWeight e CharFontName del servizio com.sun.star.style.CharacterProperties per formattare il carattere del testo.

Il testo può essere inserito solo una volta aggiunto l'oggetto di disegno alla pagina di disegno. Potete inoltre utilizzare il servizio com.sun.star.drawing.Text per posizionare e formattare il testo nell'oggetto di disegno. Di seguito sono riportate alcune delle proprietà più importanti di questo servizio:

TextAutoGrowHeight (Boolean)
Adatta l'altezza dell'elemento di disegno al testo che contiene
TextAutoGrowWidth (Boolean)
Adatta la larghezza dell'elemento di disegno al testo che contiene
TextHorizontalAdjust (Enum)
Posizione orizzontale del testo all'interno dell'elemento di disegno (valori predefiniti conformi a com.sun.star.drawing.TextHorizontalAdjust)
TextVerticalAdjust (Enum)
Posizione verticale del testo all'interno dell'elemento di disegno (valori predefiniti conformi a com.sun.star.drawing.TextVerticalAdjust)
TextLeftDistance (Long)
Distanza a sinistra tra l'elemento di disegno e il testo in centesimi di millimetro
TextRightDistance (Long)
Distanza a destra tra l'elemento di disegno e il testo in centesimi di millimetro
TextUpperDistance (Long)
Distanza superiore tra l'elemento di disegno e il testo in centesimi di millimetro
TextLowerDistance (Long)
Distanza inferiore tra l'elemento di disegno e il testo in centesimi di millimetro

L'esempio seguente dimostra l'uso delle proprietà citate.

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
 
Page.add(RectangleShape)
 
RectangleShape.String = "This is a test"   ' May only take place after Page.add!
 
RectangleShape.TextVerticalAdjust = com.sun.star.drawing.TextVerticalAdjust.TOP
RectangleShape.TextHorizontalAdjust = com.sun.star.drawing.TextHorizontalAdjust.LEFT
 
RectangleShape.TextLeftDistance = 300
RectangleShape.TextRightDistance = 300
RectangleShape.TextUpperDistance = 300
RectangleShape.TextLowerDistance = 300

Questo codice inserisce un elemento di disegno in una pagina, quindi aggiunge il testo all'angolo superiore sinistro dell'oggetto disegno utilizzando le proprietà TextVerticalAdjust e TextHorizontalAdjust. La distanza minima tra il bordo del testo e l'oggetto disegno è impostata su tre millimetri.

Proprietà dell'ombra

È possibile aggiungere un'ombra alla maggior parte degli oggetti disegno con il servizio com.sun.star.drawing.ShadowProperties. Le proprietà di questo servizio sono:

Shadow (Boolean)
Attiva l'ombra
ShadowColor (Long)
Colore dell'ombra
ShadowTransparence (Short)
Trasparenza dell'ombra
ShadowXDistance (Long)
Distanza verticale dell'ombra dall'oggetto disegno in centesimi di millimetro
ShadowYDistance (Long)
Distanza orizzontale dell'ombra dall'oggetto disegno in centesimi di millimetro

L'esempio seguente crea una rettangolo con un'ombra scostata di 2 millimetri dal rettangolo in senso verticale e orizzontale. L'ombra è resa in grigio scuro con il 50 percento di trasparenza.

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.Shadow = True
RectangleShape.ShadowColor = RGB(192,192,192)
RectangleShape.ShadowTransparence = 50
RectangleShape.ShadowXDistance = 200 
RectangleShape.ShadowYDistance = 200
 
Page.add(RectangleShape)

Panoramica dei diversi oggetti di disegno

Forme rettangolari

Gli oggetti di forma rettangolare (com.sun.star.drawing.RectangleShape) supportano i seguenti servizi di formattazione:

Fill properties
com.sun.star.drawing.FillProperties
Line properties
com.sun.star.drawing.LineProperties
Text properties
com.sun.star.drawing.Text (con com.sun.star.style.CharacterProperties e com.sun.star.style.ParagraphProperties)
Shadow properties
com.sun.star.drawing.ShadowProperties
CornerRadius (Long)
raggio per l'arrotondamento degli angoli espresso in centesimi di millimetro

Cerchi ed ellissi

Il servizio com.sun.star.drawing.EllipseShape è responsabile di cerchi ed ellissi e supporta i seguenti servizi:

Fill properties
com.sun.star.drawing.FillProperties
Line properties
com.sun.star.drawing.LineProperties
Text properties
com.sun.star.drawing.Text (con com.sun.star.style.CharacterProperties e com.sun.star.style.ParagraphProperties)
Shadow properties
com.sun.star.drawing.ShadowProperties

Oltre a questi servizi, cerchi ed ellissi offrono le seguenti proprietà:

CircleKind (Enum)
Tipo di cerchio o ellissi (valori predefiniti conformi a com.sun.star.drawing.CircleKind )
CircleStartAngle (Long)
Angolo iniziale in decimi di grado (solo per segmenti di cerchio o ellisse)
CircleEndAngle (Long)
Angolo finale in decimi di grado (solo per segmenti di cerchio o ellisse)

La proprietà CircleKind determina se un oggetto è un cerchio completo, una porzione circolare o una sezione di un cerchio. Sono disponibili i seguenti valori:

com.sun.star.drawing.CircleKind.FULL
Cerchio completo o ellisse completa
com.sun.star.drawing.CircleKind.CUT
Sezione di cerchio (cerchio parziale le cui interfacce sono collegate direttamente)
com.sun.star.drawing.CircleKind.SECTION
Porzione di cerchio
com.sun.star.drawing.CircleKind.ARC
Angolo (non comprendente la linea del cerchio)

L'esempio seguente crea una porzione circolare con un angolo di 70 gradi (prodotta dalla differenza tra l'angolo iniziale di 20 gradi e l'angolo finale di 90 gradi).

Dim Doc As Object
Dim Page As Object
Dim EllipseShape 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)
 
EllipseShape = Doc.createInstance("com.sun.star.drawing.EllipseShape")
EllipseShape.Size = Size
EllipseShape.Position = Point
 
EllipseShape.CircleStartAngle = 2000
EllipseShape.CircleEndAngle = 9000
EllipseShape.CircleKind =  com.sun.star.drawing.CircleKind.SECTION
 
Page.add(EllipseShape)

Linee

Apache OpenOffice fornisce il servizio com.sun.star.drawing.LineShape per gli oggetti linea. Gli oggetti linea supportano tutti i servizi di formattazione generale ad eccezione delle aree. Di seguito sono riportate tutte le proprietà associate al servizio LineShape:

Line properties
com.sun.star.drawing.LineProperties
Text properties
com.sun.star.drawing.Text (con com.sun.star.style.CharacterProperties e com.sun.star.style.ParagraphProperties)
Shadow properties
com.sun.star.drawing.ShadowProperties

L'esempio seguente crea e formatta una linea con l'ausilio delle proprietà citate. L'origine della linea è specificata nella proprietàLocation mentre le coordinate elencate nella proprietà Size specificano il punto finale della linea.

Dim Doc As Object
Dim Page As Object
Dim LineShape 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)
 
LineShape = Doc.createInstance("com.sun.star.drawing.LineShape")
LineShape.Size = Size
LineShape.Position = Point
 
Page.add(LineShape)

Forme polipoligonali

Apache OpenOffice supporta anche forme poligonali complesse tramite il servizio com.sun.star.drawing.PolyPolygonShape. In senso stretto, un polipoligono non è un poligono semplice ma un poligono multiplo. È pertanto possibile specificare elenchi indipendenti contenenti punti angolari e combinarli per formare un oggetto completo.

Come per le forme rettangolari, tutte le proprietà di formattazione degli oggetti di disegno vengono fornite anche per i polipoligoni:

Fill properties
com.sun.star.drawing.FillProperties
Line properties
com.sun.star.drawing.LineProperties
Text properties
com.sun.star.drawing.Text (con com.sun.star.style.CharacterProperties e com.sun.star.style.ParagraphProperties)
Shadow properties
com.sun.star.drawing.ShadowProperties

Il servizio PolyPolygonShape dispone anche di una proprietà che permette di definire le coordinate di un poligono:

  • PolyPolygon (Array): campo contenente le coordinate del poligono (doppia matrice con punti del tipocom.sun.star.awt.Point)

L'esempio seguente mostra come definire un triangolo con il servizio PolyPolygonShape.

Dim Doc As Object
Dim Page As Object
Dim PolyPolygonShape As Object
Dim PolyPolygon As Variant
Dim Coordinates(2) As New com.sun.star.awt.Point
 
Doc = StarDesktop.CurrentComponent
Page = Doc.drawPages(0)
 
PolyPolygonShape = Doc.createInstance("com.sun.star.drawing.PolyPolygonShape")
Page.add(PolyPolygonShape)   ' Page.add must take place before the coordinates are set
 
Coordinates(0).x = 1000
Coordinates(1).x = 7500
Coordinates(2).x = 10000
Coordinates(0).y = 1000
Coordinates(1).y = 7500
Coordinates(2).y = 5000
 
PolyPolygonShape.PolyPolygon = Array(Coordinates())

Dato che i punti di un poligono sono definiti come valori assoluti, non è necessario specificare le dimensioni o la posizione iniziale di un poligono. Al contrario, occorre creare una matrice dei punti, includere tale matrice in una seconda matrice (utilizzando la chiamata Array(Coordinates()), quindi assegnare tale matrice al poligono. Prima di effettuare la chiamata corrispondente, dovrete inserire il poligono nel documento.

La doppia matrice nella definizione permette di creare forme complesse mediante l'unione di diversi poligoni. Ad esempio, è possibile creare un rettangolo e quindi inserirne un altro al suo interno per creare un foro nel rettangolo originale:

Dim Doc As Object
Dim Page As Object
Dim PolyPolygonShape As Object
Dim PolyPolygon As Variant
Dim Square1(3) As New com.sun.star.awt.Point
Dim Square2(3) As New com.sun.star.awt.Point
Dim Square3(3) As New com.sun.star.awt.Point
 
Doc = StarDesktop.CurrentComponent
Page = Doc.drawPages(0)
 
PolyPolygonShape = Doc.createInstance("com.sun.star.drawing.PolyPolygonShape")
 
Page.add(PolyPolygonShape)   ' Page.add must take place before the coordinates are set
 
Square1(0).x = 5000
Square1(1).x = 10000
Square1(2).x = 10000
Square1(3).x = 5000
Square1(0).y = 5000
Square1(1).y = 5000
Square1(2).y = 10000
Square1(3).y = 10000
 
Square2(0).x = 6500
Square2(1).x = 8500
Square2(2).x = 8500
Square2(3).x = 6500
Square2(0).y = 6500
Square2(1).y = 6500
Square2(2).y = 8500
Square2(3).y = 8500
 
Square3(0).x = 6500
Square3(1).x = 8500
Square3(2).x = 8500
Square3(3).x = 6500
Square3(0).y = 9000
Square3(1).y = 9000
Square3(2).y = 9500
Square3(3).y = 9500
 
PolyPolygonShape.PolyPolygon = Array(Square1(), Square2(), Square3())

Per quanto riguarda quali aree sono riempite e quali sono vuote, Apache OpenOffice applica una regola semplice: il bordo della forma esterna corrisponde sempre al bordo esterno del polipoligono. La linea interna successiva costituisce il bordo interno della forma e marca la transizione al primo foro. Se è presente un'altra linea interna, quest'ultima contraddistingue la transizione a un'area riempita.

Immagini

Gli ultimi elementi di disegno qui presentati sono oggetti grafici basati sul servizio com.sun.star.drawing.GraphicObjectShape. Potrete utilizzarli con qualsiasi immagine in Apache OpenOffice e adattarne l'aspetto utilizzando un'intera gamma di proprietà.

Gli oggetti grafici supportano due delle proprietà generali di formattazione:

Text properties
com.sun.star.drawing.Text (con com.sun.star.style.CharacterProperties e com.sun.star.style.ParagraphProperties)
Shadow properties
com.sun.star.drawing.ShadowProperties

Le proprietà addizionali supportate dagli oggetti grafici sono le seguenti:

GraphicURL (String)
URL dell'immagine
AdjustLuminance (Short)
Luminanza dei colori, espressa come percentuale (sono ammessi anche i valori negativi)
AdjustContrast (Short)
Contrasto, espresso come percentuale (sono ammessi anche i valori negativi)
AdjustRed (Short)
Valore del rosso, espresso come percentuale (sono ammessi anche i valori negativi)
AdjustGreen (Short)
Valore del verde, espresso come percentuale (sono ammessi anche i valori negativi)
AdjustBlue (Short)
Valore del blu, espresso come percentuale (sono ammessi anche i valori negativi)
Gamma (Short)
Valore gamma di un'immagine
Transparency (Short)
Trasparenza di un'immagine, espressa come percentuale
GraphicColorMode (enum)
Modalità del colore, per esempio standard, scala di grigi, bianco e nero (valore predefinito conforme a com.sun.star.drawing.ColorMode )

L'esempio seguente mostra come inserire una pagina in un oggetto grafico Dim Doc As Object.

Dim Page As Object
Dim GraphicObjectShape As Object
Dim Point As New com.sun.star.awt.Point
Dim Size As New com.sun.star.awt.Size
 
Point.x = 1000         ' specifications, insignificant because latter
                       coordinates are binding
Point.y = 1000
Size.Width = 10000
Size.Height = 10000
 
Doc = StarDesktop.CurrentComponent
Page = Doc.drawPages(0)
 
GraphicObjectShape = Doc.createInstance("com.sun.star.drawing.GraphicObjectShape")
 
GraphicObjectShape.Size = Size
GraphicObjectShape.Position = Point
 
GraphicObjectShape.GraphicURL = "file:///c:/test.jpg"
GraphicObjectShape.AdjustBlue = -50
GraphicObjectShape.AdjustGreen = 5
GraphicObjectShape.AdjustBlue = 10
GraphicObjectShape.AdjustContrast = 20
GraphicObjectShape.AdjustLuminance = 50
GraphicObjectShape.Transparency = 40
GraphicObjectShape.GraphicColorMode = com.sun.star.drawing.ColorMode.STANDARD
 
Page.add(GraphicObjectShape)

Questo codice inserisce l'immagine test.jpg e ne adatta l'aspetto utilizzando le proprietà Adjust. In questo esempio, le immagini sono raffigurate come trasparenti al 40 percento senza altre conversioni di colore (GraphicColorMode = STANDARD).

Content on this page is licensed under the Public Documentation License (PDL).
Personal tools