unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
* [ANN] Guile-PNG 0.3.0 released
@ 2022-12-18 17:58 Artyom V. Poptsov
  2022-12-19  6:45 ` Dr. Arne Babenhauserheide
  0 siblings, 1 reply; 2+ messages in thread
From: Artyom V. Poptsov @ 2022-12-18 17:58 UTC (permalink / raw)
  To: Guile Users' Mailing List

[-- Attachment #1: Type: text/plain, Size: 1906 bytes --]

Hello Guilers,

I'm pleased to announce Guile-PNG 0.3.0, Portable Network Graphics
(PNG)[1] library for GNU Guile, implemented in pure scheme:
  https://github.com/artyom-poptsov/guile-png/releases/tag/v0.3.0

This version adds ability to draw polygons and filled rectangles, as
well as fixes line drawing algorithm.  Also now Guile-PNG allows to
create PNG images from scratch.

The library uses Guile-ZLIB[2] to compress/decompress the PNG data.

Also this is the third project of mine that uses Guile State Machine
Compiler (Guile-SMC)[3].


* List of user-visible changes

--8<---------------cut here---------------start------------->8---
* Changes in version 0.3.0 (2022-12-18)
** Improve the image parser
PNG chunks are now decoded properly, including data decompression.
** Improve the image encoder
Implement proper encoders for PNG chunks, including compression.
** Guile-PNG now allows to create PNG images from scratch
This also means that Guile-PNG now allows to create PNG images and draw some
graphics over them (using =(png graphics)= module.)
** =(png graphics)=: Fix line drawing algorithm
Re-implement the better version of Bresenham's line drawing algorithm based on
the GNU Octave code from
<https://www.markwrobel.dk/post/amiga-machine-code-letter12-linedraw/>
** =(png graphics)=: Add "<filled-rectangle>"
** =(png graphics)=: Add "<polygon>"
** Update the documentation
** Add new tests
--8<---------------cut here---------------end--------------->8---


Happy hacking!

- Artyom


References:
1. https://www.rfc-editor.org/rfc/rfc2083
2. https://notabug.org/guile-zlib/guile-zlib/
3. https://github.com/artyom-poptsov/guile-smc

-- 
Artyom "avp" Poptsov <poptsov.artyom@gmail.com>
Home page: https://memory-heap.org/~avp/
CADR Hackerspace co-founder: https://cadrspace.ru/
GPG: D0C2 EAC1 3310 822D 98DE  B57C E9C5 A2D9 0898 A02F

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 519 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [ANN] Guile-PNG 0.3.0 released
  2022-12-18 17:58 [ANN] Guile-PNG 0.3.0 released Artyom V. Poptsov
@ 2022-12-19  6:45 ` Dr. Arne Babenhauserheide
  0 siblings, 0 replies; 2+ messages in thread
From: Dr. Arne Babenhauserheide @ 2022-12-19  6:45 UTC (permalink / raw)
  To: Artyom V. Poptsov; +Cc: guile-user

[-- Attachment #1: Type: text/plain, Size: 964 bytes --]


"Artyom V. Poptsov" <poptsov.artyom@gmail.com> writes:

> I'm pleased to announce Guile-PNG 0.3.0, Portable Network Graphics
> (PNG)[1] library for GNU Guile, implemented in pure scheme:
>   https://github.com/artyom-poptsov/guile-png/releases/tag/v0.3.0
>
> This version adds ability to draw polygons and filled rectangles, as
> well as fixes line drawing algorithm.  Also now Guile-PNG allows to
> create PNG images from scratch.

That sounds great!

I’ve been missing a way to create images with minimal dependencies, and
this may just fill that gap.

Thank you!

> Also this is the third project of mine that uses Guile State Machine
> Compiler (Guile-SMC)[3].

Very cool!

> References:
> 1. https://www.rfc-editor.org/rfc/rfc2083
> 2. https://notabug.org/guile-zlib/guile-zlib/
> 3. https://github.com/artyom-poptsov/guile-smc

Best wishes,
Arne
-- 
Unpolitisch sein
heißt politisch sein,
ohne es zu merken.
draketo.de

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 1125 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-12-19  6:45 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-18 17:58 [ANN] Guile-PNG 0.3.0 released Artyom V. Poptsov
2022-12-19  6:45 ` Dr. Arne Babenhauserheide

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).