I decided it was time to learn to use GDIPLUS by writing a useful demonstration application.
This demo application (xyChartDemo) uses GDIPLUS to draw an XY graph with multiple data series and dynamically modifiable display properties in a resizeable window. Once I worked through translating MSDN C# code and hints to VIP, and evolved a workable code model, it became relatively smooth going.
The working code is in the Chart_PACK package and should be able to be added to a new or existing package without complication. I plan to add more capability beyond simple XY graphing.
I expect I'll get suggestions for improvement on this from the VIP community -- they are welcome!
Feel free to use and modify Chart_PACK as you wish.
You can download the full ZIPped project here: https://drive.google.com/open?id=0B9B9r ... zU2bkdveHM
PDF Documentation: https://drive.google.com/open?id=0B9B9r ... HFzU01NNTQ
-
- VIP Member
- Posts: 459
- Joined: 5 Nov 2000 0:01
xyChartDemo - GDIPLUS XY graphing demonstration
You do not have the required permissions to view the files attached to this post.
-
- VIP Member
- Posts: 108
- Joined: 6 Mar 2000 0:01
-
- VIP Member
- Posts: 459
- Joined: 5 Nov 2000 0:01
Re: xyChartDemo - GDIPLUS XY graphing demonstration
UPGRADE FOR Vip8:
The original version of xyChartDemo was developed with Vip7 and is not plug-and-play compatible with Vip8 due to some minor changes in the version 8 PFC Graphics class. I have made the necessary changes (mostly in Chart.pro), added a few trivial features (e.g., save and recall named graph display properties) and improved the documentation. The Chart_PACK package can be used directly in your applications.
The download link to the new Zip file for xyChartDemo_Vip8 is here: https://drive.google.com/open?id=1tFBFH ... 6MOjJlkHO6
Right-click the link and Save As ... to download the project Zip file.
The original version of xyChartDemo was developed with Vip7 and is not plug-and-play compatible with Vip8 due to some minor changes in the version 8 PFC Graphics class. I have made the necessary changes (mostly in Chart.pro), added a few trivial features (e.g., save and recall named graph display properties) and improved the documentation. The Chart_PACK package can be used directly in your applications.
The download link to the new Zip file for xyChartDemo_Vip8 is here: https://drive.google.com/open?id=1tFBFH ... 6MOjJlkHO6
Right-click the link and Save As ... to download the project Zip file.
-
- Active Member
- Posts: 35
- Joined: 5 Sep 2019 19:30
Re: xyChartDemo - GDIPLUS XY graphing demonstration
This is great! I have the demo working on V9. However, I needed to change the following:
Because in chartDecoration.pro at line #243 crashes if you do not have the named font installed at the following call.
The exception is thrown in "fontfamily.pro" #20.
In the "gdiplus_native::gdipCreateFontFamilyFromName" call. I'm not sure why I don't have "Lucida Sans" on my system, but it is a clean Windows 8 virtual machine.
Anyways, It works when I make sure the font is valid.
Thanks again, and Cheers!
Code: Select all
%fNameLABEL = "Lucida Sans". % used for axis labels
%fNameVALUE = "Lucida Sans". % used for axis values at tics & grids
fNameLABEL = "Arial". % used for axis labels
fNameVALUE = "Arial". % used for axis values at tics & grids
Code: Select all
fontValues() = FONT :-
FF = fontFamily::createFromName(fNameVALUE), % THIS CALL CRASHES IF THE FONT IS NOT INSTALLED
FS = 0,
FONT = font::createFromFontFamily(FF, 8, FS, unitPixel).
Code: Select all
clauses
createFromName(Name, Collection) :-
checkStatus(gdiplus_native::gdipCreateFontFamilyFromName(Name, Collection:nativeFontCollection, NativeFontFamily)),
newNative(NativeFontFamily).
Anyways, It works when I make sure the font is valid.
Thanks again, and Cheers!
-
- VIP Member
- Posts: 459
- Joined: 5 Nov 2000 0:01
Re: xyChartDemo - GDIPLUS XY graphing demonstration
Hi Choibakk!
I'm glad you found the demo helpful.
Lucida Sans is installed with Win10 -- I didn't think of setting up the demo for older versions of windows. I'm glad you could fix the problem.
My code could be cleaned up and some day I may get around to that ... feel free to 'tune it up' and re-post it if you want. It won't hurt my feelings.
Harrison
I'm glad you found the demo helpful.

Lucida Sans is installed with Win10 -- I didn't think of setting up the demo for older versions of windows. I'm glad you could fix the problem.
My code could be cleaned up and some day I may get around to that ... feel free to 'tune it up' and re-post it if you want. It won't hurt my feelings.
Harrison
-
- VIP Member
- Posts: 459
- Joined: 5 Nov 2000 0:01
Re: xyChartDemo - GDIPLUS XY graphing demonstration
Attached is a trivial upgrade of xyChartDemo for Vip10x.
There are no changes other than tidying it up for 10x.
There are no changes other than tidying it up for 10x.
You do not have the required permissions to view the files attached to this post.