Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked

Programming Web Graphics with Perl & GNU Software

by ehdonhon (Curate)
on Jan 09, 2003 at 04:39 UTC ( #225435=bookreview: print w/replies, xml ) Need Help??
Order Programming Web Graphics with Perl & GNU Software

Item Description: Covers everything from graphics file formats to image library API's

Review Synopsis: Good book, I give it a ++

Programming Web Graphics with Perl and GNU Software

By Shawn P. Wallace

I enjoyed reading this book. I'd have to say that I got through this O'Reilly book faster than any one I read. And now, its definately going to be one I'll keep handy.

The thing I like about this book is that it is really focused directly on web graphics. It doesn't take time to dive into all the details that people wouldn't care about if they were only trying to put together something for a website.

In the first section of the book, Introduction to Web Graphics, I found a lot of valuable background information that really brought me up to speed on topics which I had heard about before, but never fully understood. Chapter 1 of the book takes the GIF, PNG, and JPEG formats and explains the basic file structure for each format. Topics such as interlacing, compression, and alpha channels are also explained. Chapter 2 Discusses web browsers and servers. It explains compatability issues and explains the 6x6x6 "web safe" color cube. Chapter 3 Provides an alphabetical catalog of various graphic libraries and utilities which are available, along with their history and URL's.

I found section 2, Graphics Programming Tools, to be oriented more to people who were less interested in how things worked, but wanted to know how to use the various API's to achieve what they wanted. Chapters 4 through 7 each deal with GD, PerlMagic, GIFgraph, and Gimp, respectively. Each chapter explains the library, provides some samples and tutorials for the library, and finally provides a comprehensive reference for the library. I can really see these chapters getting a lot of milage in the future. (Yes I know, I could probably get the same thing from a perldoc, but sometimes its easier to have things in front of you on paper).

The third section of the book, Dynamic Graphic Techniques serves as a sort of miscelaneous section with things that don't really fit anywhere else, but are really useful to somebody leaning how to program web graphics. Chapter 8 deals with creating image maps (both static ones and ones that are dynamically created). Chapter 9 delves into the art of gif animation. It explains how the animation works, then talks about how to create animated gifs using PerlMagick and GIFscript. Chapter 10 provides a useful cookbook with various scripts ready to use for different purposes. And finally, Chapter 11 explains how to build printable graphics documents. This chapter deals mostly with postcript programming.

In summary, I really liked this book. It seems to have something for everyone. It was a good book for me because not only was I able to read it like a book and learn a lot about graphics formats and programming, I will also be able to use it later on as a cookbook and API reference.

  • Comment on Programming Web Graphics with Perl & GNU Software
Replies are listed 'Best First'.
Re: Programming Web Graphics with Perl & GNU Software
by davorg (Chancellor) on Jan 09, 2003 at 10:53 UTC

    It's probably worth pointing out that there's an updated (and slightly renamed) version of this book that has just been released. It's now called Perl Graphics Programming. And if you're interested in competing books, there's also Manning's Graphics Programming with Perl by Martien Verbruggen.


    "The first rule of Perl club is you do not talk about Perl club."
    -- Chip Salzenberg

Re: Programming Web Graphics with Perl & GNU Software
by Mr. Muskrat (Canon) on Jan 09, 2003 at 14:49 UTC
    ++ for a fine review.

    I bought this book at Barnes & Noble about six months ago for the lofty price of $8 ($7 and some change actually). It was in the markdown section. I then found it at Half Price Books for $6 and I kicked myself.

    I too enjoyed reading Programming Web Graphics. I must say that I learned quite a bit about the primary file formats used on the internet.

    While this book is filled with useful information, a good portion is out of date. Some of the modules mentioned are deprecated (GIFGraph for example). It seemed to focus on creating GIFs with GD (GD no longer creates them). I am probably leaving something important out too.

    I have to concur with davorg on this one... if you have not already purchased Programming Web Graphics, then get Perl Graphics Programming instead.

    Updated: fixed a typo, and reworded one sentence.

Re: Programming Web Graphics with Perl & GNU Software
by Aristotle (Chancellor) on Jan 11, 2003 at 22:03 UTC

    Personally, I found the book distinctly disappointing. If you already have some level of detailed knowledge about the common file formats, it's little more beyond glorified POD. You already know that JPEG encodes images in 8x8 blocks using a quantized DCT and what that means? Then you won't get anything out of this book.

    For those who have very little background in the subject I can see it being useful, but those more intimate with the subject will not get anything for their money. I recommend you leaf through the pages and sample a few chapters before you buy it. You will most likely quickly notice whether you can get anything out of it.

    Makeshifts last the longest.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: bookreview [id://225435]
[marinersk]: SuicideJunkie LOL
[choroba]: Woohoo! Fixed a test that hasn't run for 3 years.
[marinersk]: Corion Yes, sometimes whitespace in column headers is acceptable, but I still consider it be less than desireable if that query might get revectored for an ETL-esque process...
[marinersk]: choroba++
[choroba]: it's a long running test, so it's normally skipped unless an env var is set
[choroba]: nobody has been bothered to set the variable in the last 3 years
[marinersk]: sub newtest{my $expected_result = &target('foo'); my $actual_result = &target('foo'); if ($actual_result eq $expected_result) { &tdd_success(); } else { &tdd_fail(); } } # Test works after three years!
[choroba]: or nobody bothered...
[choroba]: The problem was bigger, as the test tried to call a method that didn't exist anymore
[marinersk]: :: ducking ::

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (11)
As of 2017-05-25 15:08 GMT
Find Nodes?
    Voting Booth?