BUSY
asked on
save graphics
URGENT!!!!!!!!!!
i've make graphics with mschart,and i want to know how i can save picture of graphics without using EditCopy.
i don't want to print graphics, i want to save them in a file.
can you help me
i've make graphics with mschart,and i want to know how i can save picture of graphics without using EditCopy.
i don't want to print graphics, i want to save them in a file.
can you help me
mark, I'm curious; i saw u comment many times as to how XXX it is to print a mschart; whats wrong with the folowing method?
CommonDialog1.CancelError = True
On Error GoTo NO_PRINT
CommonDialog1.ShowPrinter ' Allows printer selection (For color)
On Error GoTo 0
Printer.Orientation = vbPRORLandscape
Printer.ScaleHeight = 8.5
Printer.ScaleWidth = 11
frmSTATS.FillCriteriasList lstDummy
MSChart1.EditCopy
For intNbCopies = 1 To CommonDialog1.Copies
'Printer.PaintPicture Clipboard.GetData(), 0, lstDummy.ListCount * 0.3
Printer.PaintPicture Clipboard.GetData(), 0.5, lstDummy.ListCount * 0.1, 10, 7.5
For intCounter = 0 To lstDummy.ListCount - 1
lstDummy.ListIndex = intCounter
Printer.Print lstDummy.Text
Next
Printer.EndDoc
Next
CommonDialog1.CancelError = True
On Error GoTo NO_PRINT
CommonDialog1.ShowPrinter ' Allows printer selection (For color)
On Error GoTo 0
Printer.Orientation = vbPRORLandscape
Printer.ScaleHeight = 8.5
Printer.ScaleWidth = 11
frmSTATS.FillCriteriasList
MSChart1.EditCopy
For intNbCopies = 1 To CommonDialog1.Copies
'Printer.PaintPicture Clipboard.GetData(), 0, lstDummy.ListCount * 0.3
Printer.PaintPicture Clipboard.GetData(), 0.5, lstDummy.ListCount * 0.1, 10, 7.5
For intCounter = 0 To lstDummy.ListCount - 1
lstDummy.ListIndex = intCounter
Printer.Print lstDummy.Text
Next
Printer.EndDoc
Next
Well the main problem is that your chart resolution is limited by the screen resolution. You're essentially dumping the screen display to the clipboard and printing the clipboard. This will give you a printout with no more resolution than your screen was at when the snap was taken. Even if you're running 1280x800 that only translates to a 4.25 x 2.7" print at 300DPI. It' gets worse as your printer resolution increases. Even if you Expand the PaintPicture to 11x8.5 this just makes the individual pixels *bigger* and your text will rapidly start to look blocky and unreadable. The lower the system screen rez when you start and the higher the printer rez the worse it gets. If you're starting with 640x400 and printing at 600DPI it looks like *hell*. Certainly not something I'd want to put my name on.
If you render directly to the printer device your text remains crisp and clear and as razor sharp as any DTP app will render. Your diagonal lines will have minimal "jaggies" and everything will be razor crisp. Additionally your output will no longer be dependent on the permutations of screen and printer resolution.
You also gain complete control over placement of text, graphics, backgrounds, etc. as well as being able to create mixed mode graphs that M$Chart couldn't do if it wanted to.
For instance I created a "string of pearls" polar plot that showed the relative distribution of "on a scale of 1-10" type answers ordered by 10 different axes. The plot looked like a radar display with all 10 axes radiating out like spokes and the 1-10 rings concentric. At the intersection of each spoke and ring was a colored circle who's radius indicated the relative %age of the responses on that axis that had the given value. Mean and +- sigma lines were also plotted. The "pearls" had different colors depending on there location relative to the +- sigmas. This reduced a *HUGE* amount of data into a pattern that could be understood at a glance. Lemme see you do *THAT* in M$Chart.
Other than that, there's no problem...
M
If you render directly to the printer device your text remains crisp and clear and as razor sharp as any DTP app will render. Your diagonal lines will have minimal "jaggies" and everything will be razor crisp. Additionally your output will no longer be dependent on the permutations of screen and printer resolution.
You also gain complete control over placement of text, graphics, backgrounds, etc. as well as being able to create mixed mode graphs that M$Chart couldn't do if it wanted to.
For instance I created a "string of pearls" polar plot that showed the relative distribution of "on a scale of 1-10" type answers ordered by 10 different axes. The plot looked like a radar display with all 10 axes radiating out like spokes and the 1-10 rings concentric. At the intersection of each spoke and ring was a colored circle who's radius indicated the relative %age of the responses on that axis that had the given value. Mean and +- sigma lines were also plotted. The "pearls" had different colors depending on there location relative to the +- sigmas. This reduced a *HUGE* amount of data into a pattern that could be understood at a glance. Lemme see you do *THAT* in M$Chart.
Other than that, there's no problem...
M
ASKER
Edited text of question.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
yeah, and convert it to JPG to reduce disk space.....:)
But SavePicture only saves as .BMP. You'll need an additional 3rd party control to convert .BMP to .JPG...
M
M
ASKER
it's very easy when we have the information
Thanx for the points - glad to help.
M
M
You can generate your own plotting routines fairly easily that will avoid all of the limits of the M$Chart control.
M