DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

Diadem 9.1: Transparent Grafik im Report

Hallo,
habe doch gleich 3 Fragen zum Thema Grafik im Report:

1.Frage/Problem:
besteht die Möglichkeit transparente Grafik (z.B. im PNG-Format) mit Alphakanal (d.h. nicht nur transparenter Hintergrund, sonder auch transparenter Verlauf ) im Report zu laden?
Wenn ich mit der Import-Funktion Grafik einbinde, so wird der alphakanal automatisch ignoriert.

2.Frage/Problem:
Eine alternativ Lösung wäre für mich, wenn ich die Grafik per Script aktivieren bzw. deaktivieren könnte? gibt es ein Flag, wie "visible"?

3. Frage/Problem:
Wie kann ich per Script die Darstellungsebene der Objekte wie Grafik ändern? Ich kenne leider nur die Variante, per Kontektmenu in den Hintergrund bzw. Vordergrund zu versetzen.

Vielen Dank



0 Kudos
Message 1 of 4
(4,120 Views)

Hallo Writer

Leider ist es für Bitmap-Dateien nicht möglich einen transparenten Hintergrund zu definieren. Für Vektor-WMF-Grafiken ist das allerdings kein Problem.

Es gibt auch keinen Schalter um die Grafik sichtbar und unsichtbar zu machen. Sie können aber einfach den Namen der Grafik im Script löschen und anschließend wieder setzen. Die Parameter finden Sie, wenn Sie den Grafikdialog öffnen und CTRL-A drücken.

Call GraphObjOpen("Metafile1")
  MtaFileName      =""
Call GraphObjClose("Metafile1")

Verschieben können Sie ein Report-Objekt mit den folgenden Befehlen:

Call GraphObjMove(GraphObjName, ObjDelta)
Verschiebt ein Report-Objekt vor oder hinter die anderen Report-Objekte eines Arbeitsblatts.

Call GraphObjMoveSel(ObjDelta)

Verschiebt markierte Report-Objekte in den Vorder- oder Hintergrund in DIAdem-REPORT.

 

Winfried

0 Kudos
Message 2 of 4
(4,108 Views)
Vielen Dank für die Informationen soweit.
Die Funktion GraphObjMoveSel ist mir nicht ganz klar, da die Diadem 9 Hilfe dazu keinen Eintrag findet.
Gibt es eine Doku dazu?
 
Danke
 
 
 
 
0 Kudos
Message 3 of 4
(4,098 Views)

Sie haben recht, die Funktionen war zur 9.1 noch nicht offiziell. Funktionieren tut sie aber trotzdem. Hier die Hilfe aus Version 10:

Befehl: GraphObjMoveSel

Verschiebt markierte Report-Objekte in den Vorder- oder Hintergrund in DIAdem-REPORT.

Call GraphObjMoveSel(ObjDelta)

Eingabeparameter

ObjDelta Bestimmt die Anzahl der Ebenen, um die DIAdem das Objekt verschiebt.
Hinweis  Der Betrag der Variablen ObjDelta darf den Wert (ReportObjLast - 1) nicht überschreiten.

Beispiel

Das folgende Beispiel verschiebt markierte Objekte um eine Ebene nach vorn.

Call GraphObjMoveSel(1)
Call PicUpdate

Befehl: GraphObjMove

Verschiebt ein Report-Objekt vor oder hinter die anderen Report-Objekte eines Arbeitsblatts.

Call GraphObjMove(GraphObjName, ObjDelta)

Eingabeparameter

GraphObjNameBestimmt den Namen eines Objekts in einem Report.
String-Variable
Maximal 16 Zeichen
Hinweis  Verwenden Sie in DIAdem-REPORT statt der Variablen GraphObjName die Variable ReportObj.
ObjDeltaBestimmt die Anzahl der Ebenen, um die DIAdem das Objekt verschiebt.
Longinteger-Variable
-65535 <= ObjDelta <= 65535
Hinweis  Der Betrag der Variablen ObjDelta darf den Wert (ReportObjLast - 1) nicht überschreiten.
Hinweis  Nehmen Sie die Parametrierung von Objekten in DIAdem-REPORT immer in folgender Reihenfolge vor: Das Objekt öffnen, den Inhalt des Objekts verändern, dann ein Unterobjekt öffnen, den Inhalt des Unterobjekts verändern, dann das Unterobjekt schließen und zuletzt das Objekt schließen. Weitere Informationen finden Sie in der Vorgehensweise Zugreifen auf Objekte in DIAdem-Modulen.

Beispiel

Das folgende Beispiel erzeugt einen roten Text und davor ein 2D-Achsensystem mit gelbem Hintergrund. Der Befehl GraphObjMove verschiebt den Text vor das 2D-Achsensystem.

Call GraphSheetNew("Test")

Call GraphObjNew("Freetext","New Text") 
Call GraphObjOpen("New Text") 
     TxtTxt ="Test Report"
     TxtSize =20
     TxtColor ="red"
     TxtPosX =50
     TxtPosY =50
Call GraphObjClose("New Text") 

Call GraphObjNew("2d-axis","2DAxis1") 
Call GraphObjOpen("2DAxis1") 
     D2AxisTop =15
     D2AxisBottom =15
     D2AxisLeft =25
     D2AxisRight =25
     D2AxisBackColor = "Yellow" 
Call GraphObjClose("2DAxis1") 
Call PicUpdate

Call MsgboxDisp ("Move text into foreground")

Call GraphObjMove("New Text",1)
Call PicUpdate
0 Kudos
Message 4 of 4
(4,095 Views)