• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

CHANGESH A D22-Jan-201811.2 KiB281248

EXAMPLESH A D22-Jan-2018904 158

LICENSEH A D22-Jan-201816.6 KiB325273

PNGwriterQuickReference.rtfH A D22-Jan-201857.6 KiB1,4881,310

READMEH A D22-Jan-20188.1 KiB253185

README

1########################## PNGwriter #########################################
2#
3#   Website: Main:             http://pngwriter.sourceforge.net/
4#            GitHub.com:       https://github.com/pngwriter/pngwriter
5#            Sourceforge.net:  http://sourceforge.net/projects/pngwriter/
6#
7#
8#    Author:                    Paul Blackburn https://github.com/individual61
9#                               Axel Huebl https://github.com/ax3l
10#
11#    Email:                     individual61@users.sourceforge.net
12#
13#    Version:                   up to 0.5.5 (August 2015)
14#
15#    Description:               Library that allows plotting a 48 bit
16#                               PNG image pixel by pixel, which can
17#                               then be opened with a graphics program.
18#
19#    License:                   GNU General Public License
20#                               (C) 2002-2015 Paul Blackburn
21#                               (C) 2013-2015 Axel Huebl
22#
23##############################################################################
24
25
26#######################################################################
27This program is free software; you can redistribute it and/or modify
28it under the terms of the GNU General Public License as published by
29the Free Software Foundation; either version 2 of the License, or
30(at your option) any later version.
31
32This program is distributed in the hope that it will be useful,
33but WITHOUT ANY WARRANTY; without even the implied warranty of
34MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
35GNU General Public License for more details.
36
37You should have received a copy of the GNU General Public License
38along with this program; if not, write to the Free Software
39Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
4002110-1301, USA.
41#######################################################################
42
43
44INTRODUCTION
45Hi. Thanks for downloading PNGwriter. I hope you find it
46useful. See CHANGELOG.md to see what's new (and doc/CHANGES
47 for information about versions prior to 0.5.5).
48
49DESCRIPTION
50PNGwriter is a very easy to use open source graphics library that uses PNG
51as its output format. The interface has been designed to be as simple and
52intuitive as possible. It supports plotting and reading in the RGB
53(red, green, blue), HSV (hue, saturation, value/brightness) and CMYK
54(cyan, magenta, yellow, black) colour spaces, basic shapes, scaling, bilinear
55interpolation, full TrueType antialiased and rotated text support, bezier curves,
56opening existing PNG images and more. Runs under Linux, Unix, Mac OS X
57and Windows. Requires libpng and optionally FreeType2 for the text support.
58
59
60
61
62REQUIREMENTS
63LibPNG (http://www.libpng.org/) and associated requirements (zlib).
64PNGwriter requires a properly installed libpng in order to work.
65
66Freetype 2 (http://www.freetype.org)
67PNGwriter uses FreeType 2 to render antialiased text with kerning, but
68it can be compiled without support for this. See below.
69
70Fonts
71If you are going to use PNGwriter's plot_text() function to plot text,
72then you'll need a TrueType font file. PNGwriter installs a few from
73the Free UCS Outline Fonts Project
74(http://savannah.nongnu.org/projects/freefont) in
75/usr/local/share/pngwriter/fonts to get you started, or under whatever
76directory you chose with PREFIX at install time. See below.
77
78
79
80
81INSTALLATION
82Before you do anything, check the 'make.include' file and make sure it is a
83symbolic link to either one of 'make.include.linux' or
84'make.include.osx'.
85
86The current setting to 'make.include.linux' should cover most systems,
87including OS X. See below.
88
89If you have an OS X system with libpng and FreeType2 installed via
90Fink in /sw, or via MacPorts in /opt, edit and then use
91'make.include.osx'. It is generally not necessary to use
92make.include.osx on an OS X system if you are compiling with FreeType2
93support. This is because the FreeType2 helper program freetype-config,
94called at compile time, will actually provide the correct library and
95header paths for your Fink or MacPorts distribution. In short, if
96you're on OS X, just give make.include.linux a try, and if it doesn't
97work, then tinker with make.include.osx
98
99
100If you wish to compile PNGwriter without FreeType2 support, then open
101make.include with your text editor and uncomment the line that says
102
103    # P_FREETYPE = 1
104
105or, when compiling, add P_FREETYPE=1 to make's arguments.
106
107Note that every time you compile a project that uses PNGwriter, and
108PNGwriter has been compiled without FreeType2 support, you will have to
109add -DNO_FREETYPE to your compilation flags.
110
111To compile PNGwriter, just type
112
113    make
114
115and then, as Root,
116
117    make install
118
119If you are not root, or do not want to install in the default
120location (/usr/local/, set in make.include), then specify the location
121with PREFIX when calling make, like this:
122
123     make PREFIX=$HOME (for example)
124
125or
126
127     make PREFIX=$HOME/programming (for example)
128
129The default installation locations are:
130
131 -  libpngwriter.a in /usr/local/lib
132 -  pngwriter.h in /usr/local/include
133 -  The documentation in /usr/local/share/doc/pngwriter/doc/
134 -  The examples in /usr/local/share/doc/pngwriter/examples/
135 -  A few fonts in /usr/local/share/pngwriter/fonts
136
137After installation, the following lines will list the installed
138location of the software (determined from whatever PREFIX was at
139install time):
140
141 -  libpngwriter.a: /usr/local/lib/
142 -  pngwriter.h: /usr/local/include/
143 -  documentation: /usr/local/share/doc/pngwriter/
144 -  examples: /usr/local/share/doc/pngwriter/
145 -  fonts: /usr/local/share/pngwriter/fonts/
146
147Look in examples/ for two examples of PNGwriter's use, and in
148doc/EXAMPLES for information about them.
149
150
151
152
153SUPPORT
154For examples, a FAQ, etc, take a look at the PNGwriter Home page:
155
156http://pngwriter.sourceforge.net/
157
158If you have a problem or a suggestion, you can use the support forum at
159
160http://sourceforge.net/projects/pngwriter/
161
162You can also email me at the address shown in the header. I would really like to hear
163from you and what you are using PNGwriter for.
164
165
166
167
168LEGAL
169This library and its code are distributed under the GNU General
170Public License. The complete text of the license is included in this
171distribution.
172
173
174
175
176UPDATES
177New versions will appear from time to time so check the web page.
178
179http://pngwriter.sourceforge.net/
180and
181http://sourceforge.net/projects/pngwriter/
182and
183https://github.com/pngwriter/pngwriter
184
185
186
187
188WHAT'S IN THIS RELEASE?
189
190pngwriter-x.y.z
191|-- Makefile
192|-- README
193|-- configure
194|-- doc
195|   |-- CHANGES
196|   |-- EXAMPLES
197|   |-- LICENSE
198|   |-- PNGwriterQuickReference_EN.pdf
199|   `-- README
200|-- examples
201|   |-- Makefile
202|   |-- burro.png
203|   |-- lyapunov.cc
204|   |-- pngtest.cc
205|-- fonts
206|   |-- FreeMonoBold.ttf
207|   `-- FreeSansBold.ttf
208|-- make.include -> make.include.linux
209|-- make.include.linux
210|-- make.include.linux.oldcpp
211|-- make.include.osx
212`-- src
213    |-- Makefile
214    |-- pngwriter.cc
215    `-- pngwriter.h
216
217
218
219
220THANKS
221
222In no particular order, thanks to
223
224> Xavier Andrade, Debian Package Maintainer for version 0.3.6
225> Andres Kievsky
226> Jorgen Pehrson, for the settext() function.
227> Nadav Rotem, for suggesting the bezier() function.
228> Jeramy Webb (jeramyw@gmail.com), for his generosity.
229> Mike Heller (mkheller@gmail.com), for his generosity.
230> Benjamin Raskob, for bringing to my attention the need for a resize()
231  function.
232> Dr John Charlery, for his continued support with the Windows-specific
233  documentation.
234> Tobias Kretz, for pointing out a bug in readfromfile(), and
235> Greg Roelofs and John Bowler on png-implement for their help fixing the bug.
236> Gurkan Sengun (gurkan@linuks.mine.nu, http://www.linuks.mine.nu/)
237  for the filledtriangle() code.
238> Miguel Gea (debian@miguelgea.com), Debian Package Maintainer for
239  versions > 0.5.1
240> Carsten Klapp (carstenklapp@users.sourceforge.net), for his help
241  with the Fink package.
242> Sven, who posted anonymously on the PNGwriter forum
243  concerning readfromfile()
244> Mikkel (mikkel@biosource.dk) for expanding on Sven's code, greatly
245  increasing the variety of PNGs that PNGwriter can open.
246> Axel Huebl (https://github.com/ax3l), for instilling the PNGwriter project
247  with new activity after five years. This guy rocks.
248
249Have fun and tell me what you're up to!
250
251Paul Blackburn
252individual61@users.sourceforge.net
253