473,321 Members | 1,877 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,321 software developers and data experts.

Implementation of a C++ wrapper for libpng

Hi,

below is near exact copy of my post to png-mng-implement mailing list
(pn***************@lists.sourceforge.net). I've got no answer there,
so probably there is not much interest in such a wrapper, at least as
for the members of that list :-)

This is cross-posted to comp.lang.c++.moderated and comp.lang.c++.
---------------

I would like to announce the availability of a preliminary version of
png++, my C++ wrapper for libpng.

When I've come to libpng I've noticed that it takes a lot of code just
to load a PNG image and handle all error conditions gracefully. I was
working on a C++ project and hence sought for a way to use libpng the
C++ way. The result is png++.

The libpng's example routine for loading an image is about 300 lines
in C. With png++ you can load an image in just a single line of C++
code, like this:

png::image< png::rgb_pixel my_image("myimage.png");

Storing the image on disc is also accomplished in a single line, like
this:

my_image.write("myimage2.png");
The project aims to provide simple yet powerful C++ wrapper for
libpng. It has numerous limitations, but I would like to hear from
people what do they think about the project before implementing the
lacking features.

It is known to be incomplete, undocumented, untested and may be buggy.
However, it works for me, and I would be pleased if it would work for
others too. I plan to setup the project on Savannah
(http://savannah.nongnu.org/), however it is not approved yet.

Please follow this link for more information:
http://www.shulgin.org.ua/~shulz/png++/
Here is the direct download link:
http://www.shulgin.org.ua/~shulz/png...+-0.1.0.tar.gz

Please note that png++ is distributed under a modified variant of BSD
license.

Comments, suggestions, bug reports are sincerely welcome :-)
Happy hacking!
--
Alex Shulgin
PS: the host might be down from 22:00 to 08:00 UTC -- it's one of my
home PCs. You still may request a source package by e-mail, tough :-)
--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

Mar 28 '07 #1
4 3078
* Alex Shulgin:
>
Please follow this link for more information:
http://www.shulgin.org.ua/~shulz/png++/
Here is the direct download link:
http://www.shulgin.org.ua/~shulz/png...+-0.1.0.tar.gz

Please note that png++ is distributed under a modified variant of BSD
license.

Comments, suggestions, bug reports are sincerely welcome :-)
There's also PngWriter, at <url: http://pngwriter.sourceforge.net/>.

Speaking of which, where has ACCU's list of C++ libraries disappeared to?

--
A: Because it messes up the order in which people normally read text.
Q: Why is it such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?

[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

Mar 28 '07 #2
On Mar 28, 5:40 am, "Alex Shulgin" <alex.shul...@gmail.comwrote:
Hi,

below is near exact copy of my post to png-mng-implement mailing list
(png-mng-implem...@lists.sourceforge.net). I've got no answer there,
so probably there is not much interest in such a wrapper, at least as
for the members of that list :-)
You might try posting this to graphics newsgroups and mailing lists.
Looks neat, though.
--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

Mar 28 '07 #3
On Mar 28, 7:20 pm, "Alf P. Steinbach" <a...@start.nowrote:
* Alex Shulgin:
Please follow this link for more information:
http://www.shulgin.org.ua/~shulz/png++/
Here is the direct download link:
http://www.shulgin.org.ua/~shulz/png...+-0.1.0.tar.gz
Please note that png++ is distributed under a modified variant of BSD
license.
Comments, suggestions, bug reports are sincerely welcome :-)

There's also PngWriter, at <url:http://pngwriter.sourceforge.net/>.
Well, yes. But my point is to implement a thin (well, somewhat (-:) C+
+ wrapper around libpng. No image processing and/or text rendering is
ever planned to be added into it. Tough, I think png++ will find it's
applications, for example, in some custom (so to say, in-house) image
processing.
Speaking of which, where has ACCU's list of C++ libraries disappeared to?
Hm... it seems to me it was removed/rearranged somewhere around Feb
2006, when the new website was set up. At least, web.archive.org's
version as of Mar 02 2006 already lacks parts of the list.

--
Alex Shulgin
--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

Mar 29 '07 #4
On Mar 28, 12:40 pm, "Alex Shulgin" <alex.shul...@gmail.comwrote:
I plan to setup the project on Savannah
(http://savannah.nongnu.org/), however it is not approved yet.
The project is approved and running:
http://savannah.nongnu.org/projects/pngpp
Everyone interested are encouraged to participate in further
development. :-)
Happy hacking!
--
Alex Shulgin
--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

Apr 15 '07 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: David Mertz, Ph.D. | last post by:
I decided to write a pure Python hashcash implementation. I have seen David McNab's Python implementation. Unfortunately, as near as I can tell (which is supported on the hashcash mailing list...
12
by: Egil M?ller | last post by:
Is there any way to create transparent wrapper objects in Python? I thought implementing __getattribute__ on either the wrapper class or its metaclass would do the trick, but it does not work for...
4
by: shane | last post by:
From searching around, Ive seen this question asked numerous times, but havent seen a usable answer unfortuantly. What Im trying to do is something I would have thought would be quite common,...
9
by: Badri Mohan | last post by:
Hi guys, Anyone tried to do a Diffie-Hellman encryption and decryption totally in c#. Any ideas? Right now i do it as a separate win32 dll and use PInvoke from c#.. Anyone tried of doin that...
110
by: Gregory Pietsch | last post by:
I'm writing a portable implementation of the C standard library for http://www.clc-wiki.net and I was wondering if someone could check the functions in math.h for sanity/portability/whatever. I'm...
41
by: jacob navia | last post by:
In the C tutorial for lcc-win32, I have a small chapter about a debugging implementation of malloc. Here is the code, and the explanations that go with it. I would appreciate your feedback...
2
by: Mattias Brändström | last post by:
Hello! I have a small class that I would like to get some feedback on. If you have the time. =) What I would like to do is to protect an instance of some class T with a mutex. It seems to me...
5
by: weidongtom | last post by:
Hi, I tried to implement the Universal Machine as described in http://www.boundvariable.org/task.shtml, and I managed to get one implemented (After looking at what other's have done.) But when I...
11
by: magicman | last post by:
can anyone point me out to its implementation in C before I roll my own. thx
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: af34tf | last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.