Hello, Yes, the script works perfectly fine on my end and produces correct image.
Best regards, Tomasz Janeczko amibroker.com --- In [email protected], "progster01" <progs...@...> wrote: > > > Thanks for the suggestion, but the DISPLAY (Windows Control Panel) was > already set to 32-bits. > > Does either of the provided scripts work for you and produce a picture other > than the blank-screen message? > > > --- In [email protected], "amibroker" <groups@> wrote: > > > > 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 <progster@> 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(); > > > } > > > } > > > } > > > > > >
