Re: [fpc-pascal] Graphing library
On 19/11/2020 1:29 pm, James Richters via fpc-pascal wrote: > Exporting PDF files from my AGG-Pas buffer would be really nice. Indeed an interesting idea, but unfortunately that ability has not been implemented yet. In my earlier message I was more referring to using either fpPDF or AggPas. Saying that I'm not saying it's impossible for AggPas to generate PDF's - I've just not looked into it. ;-) > Would you happen to have a sample program of how to generate a PDF > from my Agg-Pas buffer As I mentioned, that functionality does not exist yet. If you want examples of how to generate PDFs using fpPDF however, the FPC code includes examples, and you can also take a look at the fpReport code too, as it can use fpPDF as report output renderer too. On a side note: I also wrote an AggPas report output renderer for fpReport, but not sure if that was included with FPC at the time. If not, it is available in the fpGUI's code repository. Regards, Graeme -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Graphing library
Fppdf sounds interesting. I'm already using AGG-Pas in my project, and I am quite happy with it. Exporting PDF files from my AGG-Pas buffer would be really nice. I did a quick search and didn't find any documentation for it, is there a link for this? Would you happen to have a sample program of how to generate a PDF from my AGG-Pas buffer? James -Original Message- From: fpc-pascal On Behalf Of Graeme Geldenhuys via fpc-pascal Sent: Wednesday, November 18, 2020 4:31 PM To: fpc-pascal@lists.freepascal.org Cc: Graeme Geldenhuys Subject: Re: [fpc-pascal] Graphing library On 15/11/2020 8:33 am, Darius Blaszyk via fpc-pascal wrote: > I am looking for a simple to use non-visual graphing library to > produce x-y plots in a raster file format (similar to how pyplot works). You could also use the fppdf code included with FPC and generate PDFs of any size (you don't have to stick to standard paper sizes). Not sure if PDF will suit your needs, but you will end up with a very portable format that scales. Secondly, you could also use AGG-Pas. It's fully implemented in Object Pascal so is very portable (I've used it on RPi, Windows, Linux, FreeBSD and OSX). It is a anti-alias sub-pixel framework with configurable rendering pipelines. You can use the "raw" API to get the most flexibility, or use the easier 2D unit but reduces functionality and flexibility. The latest code is included with the fpGUI project, but still 100% stand-alone - no dependencies on fpGUI at all. It also comes with a huge about of demos so show off the features. Original AGG-Pas website. But as I said, the code in fpGUI's repo is newer with multiple bug fixes and improvements. http://crossgl.com/aggpas/documentation/index.html Both options have no dependencies on graphics libraries or GUI systems, so is perfect for console of server side rendering. Regards, Graeme -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Graphing library
On 15/11/2020 8:33 am, Darius Blaszyk via fpc-pascal wrote: > I am looking for a simple to use non-visual graphing library to produce x-y > plots in a raster file format (similar to how pyplot works). You could also use the fppdf code included with FPC and generate PDFs of any size (you don't have to stick to standard paper sizes). Not sure if PDF will suit your needs, but you will end up with a very portable format that scales. Secondly, you could also use AGG-Pas. It's fully implemented in Object Pascal so is very portable (I've used it on RPi, Windows, Linux, FreeBSD and OSX). It is a anti-alias sub-pixel framework with configurable rendering pipelines. You can use the "raw" API to get the most flexibility, or use the easier 2D unit but reduces functionality and flexibility. The latest code is included with the fpGUI project, but still 100% stand-alone - no dependencies on fpGUI at all. It also comes with a huge about of demos so show off the features. Original AGG-Pas website. But as I said, the code in fpGUI's repo is newer with multiple bug fixes and improvements. http://crossgl.com/aggpas/documentation/index.html Both options have no dependencies on graphics libraries or GUI systems, so is perfect for console of server side rendering. Regards, Graeme -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Graphing library
Hello Bernd, there is a bachelor thesis from Jörg Winkler, 2013 in the net (in German): "OpenGL-basierter logischer Gerätetreiber für ein Grafisches Kernsystem" Entwicklung eines logischen GKS Gerätetreibers auf der Basis von OpenGL https://docplayer.org/20014258-Entwicklung-eines-logischen-gks-geraetetreibers-auf-der-basis-von-opengl.html It includes the source code (in C) . Seems to be a GKS to OpenGL software. AFAIK the author is on GitHub, so may be you can ask him for some details or the source files: https://github.com/joergi-w Kind Regards Markus --- original message --- On November 15, 2020, 11:25 PM GMT+1 fpc-pascal@lists.freepascal.org wrote: Hi, I don't know if this can help you, but in the 1980s I worked with a library called GKS (graphic kernel system) which I used to build such graphics like the following example: http://bernd-oppolzer.de/fdynsb.pdf This programs that did this were written in Pascal at that time. It still works today for me (the customer still uses this software), although is it C today, and GKS is not available any more. What I did: the original GKS calls are written to files (some sort of GKS metafile, but not the original 1980s format), and then this file format is read by a C program GOUTHPGL, which translates this (proprietary) format to HPGL. The HPGL files are either sent to HP plotters or translated to PDF using public domain software; see the file above. (GOUTHGPL was a Pascal program in the 1990s, too). IMO, you could easily write the "GKS metafile format" with Pascal; in fact, it is simply is a sort of logfile of the GKS calls. Here is an old paper about the GKS system: http://nsucgcourse.github.io/lectures/Lecture01/Materials/Graphical%20Kernel%20System.pdf The translator GOUTHGPL supports only a small subset of GKS; see again the example picture above. If you are interested for more details, you could contact me offline. Kind regards Bernd Am 15.11.2020 um 09:33 schrieb Darius Blaszyk via fpc-pascal: > Hi, > I am looking for a simple to use non-visual graphing> library to produce x-y > plots in a raster file format (similar> to how pyplot works). Rather than > developing something from> scratch or writing a wrapper to GNU plot > (additional> dependency), I was hoping something like this already would> > exist that I could build upon. > Thank you for any tips! > Rgds, Darius > ___>fpc-pascal maillist - > fpc-pascal@lists.freepascal.org>https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal --- end of original message ---___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Graphing library
Hi Bernd and leledumbo, Thanks for your responses. For now, I have settled on GNUplot. This tool creates very nice plots and allows to export in a variety of formats (vector and raster). I have written a wrapper that creates a script as Bernd mentioned and runs the GNUplot tool from the command-line. The wrapper has a simple API that allows to toggle settings and add series as required. If interested then please let me know and I will share. In time I would like to add a native vector output to this plotting library. I had a brief look at SVG and that should be possible. Kind regards, Darius On Sun, Nov 15, 2020 at 11:25 PM Bernd Oppolzer via fpc-pascal < fpc-pascal@lists.freepascal.org> wrote: > Hi, > > I don't know if this can help you, but in the 1980s I worked with a > library called GKS (graphic kernel system) > which I used to build such graphics like the following example: > http://bernd-oppolzer.de/fdynsb.pdf > > This programs that did this were written in Pascal at that time. > > It still works today for me (the customer still uses this software), > although is it C today, and GKS is not available any more. > What I did: the original GKS calls are written to files (some sort of GKS > metafile, but not the > original 1980s format), and then this file format is read by a C program > GOUTHPGL, > which translates this (proprietary) format to HPGL. The HPGL files are > either sent to > HP plotters or translated to PDF using public domain software; see the > file above. > (GOUTHGPL was a Pascal program in the 1990s, too). > > IMO, you could easily write the "GKS metafile format" with Pascal; > in fact, it is simply is a sort of logfile of the GKS calls. > > Here is an old paper about the GKS system: > http://nsucgcourse.github.io/lectures/Lecture01/Materials/Graphical%20Kernel%20System.pdf > > The translator GOUTHGPL supports only a small subset of GKS; see again the > example picture above. > > If you are interested for more details, you could contact me offline. > > Kind regards > > Bernd > > > Am 15.11.2020 um 09:33 schrieb Darius Blaszyk via fpc-pascal: > > Hi, > > I am looking for a simple to use non-visual graphing library to produce > x-y plots in a raster file format (similar to how pyplot works). Rather > than developing something from scratch or writing a wrapper to GNU plot > (additional dependency), I was hoping something like this already would > exist that I could build upon. > > Thank you for any tips! > > Rgds, Darius > > ___ > fpc-pascal maillist - > fpc-pascal@lists.freepascal.orghttps://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal > > > ___ > fpc-pascal maillist - fpc-pascal@lists.freepascal.org > https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal > ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Graphing library
Hi, I don't know if this can help you, but in the 1980s I worked with a library called GKS (graphic kernel system) which I used to build such graphics like the following example: http://bernd-oppolzer.de/fdynsb.pdf This programs that did this were written in Pascal at that time. It still works today for me (the customer still uses this software), although is it C today, and GKS is not available any more. What I did: the original GKS calls are written to files (some sort of GKS metafile, but not the original 1980s format), and then this file format is read by a C program GOUTHPGL, which translates this (proprietary) format to HPGL. The HPGL files are either sent to HP plotters or translated to PDF using public domain software; see the file above. (GOUTHGPL was a Pascal program in the 1990s, too). IMO, you could easily write the "GKS metafile format" with Pascal; in fact, it is simply is a sort of logfile of the GKS calls. Here is an old paper about the GKS system: http://nsucgcourse.github.io/lectures/Lecture01/Materials/Graphical%20Kernel%20System.pdf The translator GOUTHGPL supports only a small subset of GKS; see again the example picture above. If you are interested for more details, you could contact me offline. Kind regards Bernd Am 15.11.2020 um 09:33 schrieb Darius Blaszyk via fpc-pascal: Hi, I am looking for a simple to use non-visual graphing library to produce x-y plots in a raster file format (similar to how pyplot works). Rather than developing something from scratch or writing a wrapper to GNU plot (additional dependency), I was hoping something like this already would exist that I could build upon. Thank you for any tips! Rgds, Darius ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Graphing library
> I am looking for a simple to use non-visual graphing library to produce x-y plots in a raster file format (similar to how pyplot works). Rather than developing something from scratch or writing a wrapper to GNU plot (additional dependency), I was hoping something like this already would exist that I could build upon. TAChart works with NoGUI LCL interface: https://wiki.freepascal.org/TAChart_Demos#nogui -- Sent from: http://free-pascal-general.1045716.n5.nabble.com/ ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
[fpc-pascal] Graphing library
Hi, I am looking for a simple to use non-visual graphing library to produce x-y plots in a raster file format (similar to how pyplot works). Rather than developing something from scratch or writing a wrapper to GNU plot (additional dependency), I was hoping something like this already would exist that I could build upon. Thank you for any tips! Rgds, Darius ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal