Hello, ExportImage works perfectly fine. The only thing you should do is to set your DISPLAY (Windows Control Panel) TO 24-bits or 32-bits (TRUE COLOR). You need true color display to be able to export 24-bit PNGs.
True color display is default for all new installation of Windows Vista and 7 because it is required for some visual effects new Windows use. Best regards, Tomasz Janeczko amibroker.com --- In [email protected], Progster <progs...@...> wrote: > > Hi, > > Is is possible that the AB OLE Automation Object Model call > ExportImage() is broken in AB 5.30.4? > > Despite everything I could think of to try, the images always come out > blank, like those attached. > > Neither of the codes below work, and yet each was said to work on the > list in the past. > > Operational attempts have included: > > AB Open Dbl-Click on script > AB Open Run script from command window > > AB Closed Dbl-Click on script > AB Closed Run script from command window > > Results are always either: server error, AB crash, or it runs and > produces the blank chart. > > When AB is open, it doesn't matter what layout/chart is up. Still no joy. > > What could be (not) happening here??? > > - Progster > > > ----------- > > // ImageTest_01.js > AB = new ActiveXObject("Broker.Application"); > AB.ActiveWindow.ExportImage( "test.gif", 640, 480 ); > > > // ImageTest_02.js > > iWatchList = 8; /// you can define watch list number here > > AB = new ActiveXObject("Broker.Application"); > Qty = AB.Stocks.Count; for( i = 0; i < Qty; i++ ) > { > Stk = AB.Stocks( i ); > if( iWatchList < 32 ) > { > if( Stk.WatchListBits & ( 1 << iWatchList ) ) > { > Doc = AB.Documents.Open( Stk.Ticker ); > WScript.Sleep( 4000 ); // 4 seconds delay > AB.ActiveWindow.ExportImage(Stk.Ticker + ".png") > Doc.Close(); > } > } > else > { > if( Stk.WatchListBits2 & ( 1 << ( iWatchList - 32 )) ) > { > Doc = AB.Documents.Open( Stk.Ticker ); > AB.ActiveWindow.ExportImage(Stk.Ticker + ".png") > WScript.Sleep( 4000 ); // 4 seconds delay > Doc.Close(); > } > } > } >
