Hallo!
Ich habe eine große Reihe von Plots, die ich als PNG, EMF und SVG ausgeben muss, und sie müssen genau 500 x 300 Pixel groß sein. Dies hat sich als unglaublich schwierig erwiesen. Ich weiß, dass ich die Größe des Diagrammerstellers mit Size() angeben kann, aber das führt zu einem Diagramm, das aufgrund hinzugefügter Achsentitel, Diagrammtitel, Legenden, Ränder und dergleichen erheblich größer ist.
Um zu erklären, was ich tue: Ich füge meiner Datentabelle ein OnOpen-Skript hinzu, das meine Daten mit dem Graph-Builder darstellt, und erstelle einen Bericht und verwende diesen, um Achsentitel und dergleichen hinzuzufügen. Ich habe ein anderes Skript, das die Datentabelle öffnet und die Picturebox aus dem generierten Bericht extrahiert. Dies wird dann zusammen mit Handlungstiteln und dergleichen in eine VListBox eingefügt. Diese Box wird dann mit SavePicture() exportiert.
vlb = VListBox(
Align(center),
tb1 = TextBox(
"",
SetFontSize(numFONTSIZETITLE),
SetFontStyle(strFONTSTYLETITLE),
SetFont(strFONTITLE),
SetWrap(0.9*numLENGTHEXPORT)),
tb2 = TextBox(
"Title",
SetFontSize(numFONTSIZETITLE),
SetFontStyle(strFONTSTYLETITLE),
SetFont(strFONTITLE),
SetWrap(0.9*numLENGTHEXPORT)),
tb3 = TextBox(
strComments,
SetFontSize(numFONTSIZECOMMENTS),
SetFontStyle(strFONTSTYLECOMMENTS),
SetFont(strFONTCOMMENTS),
SetWrap(0.9*numLENGTHEXPORT)),
pb1 = reportgraphbuilder[PictureBox(1)]
);
vlb << Save Picture(drFolderSave || strPlotName || ".emf", emf);
vlb << Save Picture(drFolderSave || strPlotName || ".png", png);
vlb << Save Picture(drFolderSave || strPlotName || ".svg", svg);Ich habe versucht, die Größe der VListBox zu ändern, aber die VListBox besteht darauf, dass sie eine Größe von {0,0} hat, was keinen Sinn macht, da sie eine ziemlich große Picturebox enthält. Ich habe versucht, eine FrameBox darum herum zu generieren, bekomme aber nur Fehlermeldungen. Ich habe nach mehr Dokumentation zu dieser Box gesucht, aber ich kann nur Dokumentation zu den Funktionen finden, die Sie an sie senden können, nicht, wie man eine generiert oder wann Sie sie verwenden sollten.