CIAO!
Ho una vasta serie di grafici che devo produrre come png, emf e svg e devono essere esattamente 500x300 pixel. Questo si è rivelato incredibilmente difficile da raggiungere. So che posso specificare la dimensione del generatore di grafici utilizzando Size (), ma ciò si traduce in una trama che è significativamente più grande a causa dei titoli degli assi aggiunti, del titolo della trama, delle legende, dei margini e così via.
Per spiegare cosa sto facendo: aggiungo uno script OnOpen al mio datatable che traccia i miei dati utilizzando il generatore di grafici, creo un report e lo utilizzo per aggiungere titoli di assi e simili. Ho un altro script che apre la tabella dei dati ed estrae la picturebox dal rapporto generato. Questo viene quindi inserito in un VListBox insieme ai titoli della trama e simili. Questa casella viene quindi esportata utilizzando SavePicture().
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);Ho provato a cambiare la dimensione del VListBox, ma il VListBox insiste sul fatto che ha una dimensione di {0,0}, il che non ha senso poiché contiene un picturebox abbastanza grande. Ho provato a generare un FrameBox attorno ad esso, ma ottengo solo messaggi di errore. Ho cercato altra documentazione su quella scatola, ma riesco a trovare solo documentazione sulle funzioni che puoi inviarle, non su come generarne una o quando dovresti usarla.