wie kann ich diese Grafik unsichtbar erzeugen? Also nur zum Speichern in einer JPG-Datei benutzen?
Beste Grüße
Josef
Code: Alles auswählen
#include "AppEvent.ch"
#include "Gra.ch"
#include "Xbp.ch"
#define nVL aLocals[01]
#define nVwlST aLocals[02]
#define nVwlSV aLocals[03]
#define nVwlNE aLocals[04]
#define oDlg aLocals[05]
#define oDraw aLocals[06]
#define oPS aLocals[07]
#define oBmp aLocals[08]
#define oPS2 aLocals[09]
PROCEDURE AppSys()
return
PROCEDURE Main()
LOCAL aLocals[10]
LOCAL nEvent, mp1, mp2, oXbp
nVL := 30.00
nVwlST := 10.00
nVwlSV := 6.00
nVwlNE := 14.00
if fexists("VWL1.JPG")
ferase( "VWL1.JPG" )
endif
oDlg := XbpDialog():new(AppDesktop(),,{300,200,}, {92,304,})
oDlg:taskList := .t.
oDlg:minButton := .f.
oDlg:maxButton := .f.
oDlg:create()
oDraw := oDlg:drawingArea
oPS := XbpPresSpace():new():create( oDraw:winDevice() )
oDraw:paint := {|| DrawChart( oPS, aLocals, 1.0 ) }
nEvent := xbeP_None
do while nEvent != xbeP_Close .and. nEvent != xbeK_ESC
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
enddo
oBmp := XbpBitmap():new():create()
oPS2 := XbpPresSpace():new():create()
oBmp:presSpace( oPS2 )
oBmp:make( oDraw:currentSize()[1], oDraw:currentSize()[2] )
GraBitBlt( oPS2, oPS, {0,0, oBmp:xSize, oBmp:ySize},;
{0,0,oDraw:currentSize()[1], oDraw:currentSize()[2] } )
oBmp:saveFile( "VWL1.JPG", XBPBMP_FORMAT_JPG, 0 )
oPS:destroy()
oPS2:destroy()
return
STATIC FUNCTION DrawChart( oPs, aLocals, nZoom )
LOCAL aAttr, nNetCol, nSteCol, nSveCol, nAgzCol, nStrCol, nStr1Col, oFont, oFont2
/* --- Nullpunkt fuer X- und Y-Achse --- */
LOCAL nX0 := 0, nY0 := 0
/* --- Relative Maxima fuer x und y --- */
LOCAL nXmax := 82 * nZoom, nYmax := 278 * nZoom
/* --- Farben --- */
LOCAL aColor := { {0,100,0}, {255,255,0}, {160,0,0}, {0,0,200} }
/* --- Fuellmuster --- */
LOCAL aSymbols := { GRA_SYM_DENSE4, GRA_SYM_DENSE5, GRA_SYM_DENSE6 ,;
GRA_SYM_DENSE7, GRA_SYM_SOLID, GRA_SYM_HALFTONE,;
GRA_SYM_DIAG1, GRA_SYM_DIAG3 }
/* --- Multiplikator f