[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ⎕PNG
From: |
Chris Moller |
Subject: |
Re: ⎕PNG |
Date: |
Wed, 21 Sep 2022 11:50:49 -0400 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.2.0 |
Very cool!
On 9/21/22 07:49, Dr. Jürgen Sauermann
wrote:
Hi,
I would like to announce a new GNU APL feature: ⎕PNG
PNG stands for "Portable Network Graphics" and is a file format,
standardized
in RFC 2083, for (still) images that is, among several other use
cases, also
directly understood by web browsers.
Unlike some of the other image file formats around, the PNG file
format
has no strings attached, such as patents or copyrights. This was
one of the
reasons for choosing it in GNU APL.
While APL appears to be the perfect choice for manipulating the
large pixel
arrays of images, this is not the case for the files on disc
from which the pixel
arrays are read or eventually stored. ⎕PNG tries to close this
gap.
⎕PNG is comprised of three simple sub-function for:
1. reading a .png file into an APL array of pixels,
2. displaying such an array in a GTK window on the screen, and
3. writing a (supposedly somehow manipulated) pixel array into a
.png file.
The main work in the conversions above is actually provided by libpng
(see
www.libpng.org) therefore
⎕PNG is merely a lightweight wrapper around
libpng. ⎕PNG is supposed to support all file variants
(colour and grayscale,
different pixel resolutions from 1 to 16 bits, with or without
alpha channel),
on input and most (= all but pixel arrays using colour palettes)
on output.
SVN 1589, see also info apl section 2.32 for
details.
Enjoy,
Jürgen
OpenPGP_0xDA6C01938888083E.asc
Description: OpenPGP public key
OpenPGP_signature
Description: OpenPGP digital signature
- ⎕PNG, Dr . Jürgen Sauermann, 2022/09/21
- Re: ⎕PNG,
Chris Moller <=
- Re: ⎕PNG, Christian Robert, 2022/09/21
- Re: ⎕PNG, Dr . Jürgen Sauermann, 2022/09/21