|
Syd Logan
Reviewed by Daniel Lazenby XIE? What is that? Maybe it has something to do with X? Why would I want to use XIE anyway? These were just a few of the questions that ran through my mind when I first read the book's title. The core X specification's ability to display or enhance images is limited to three uncompromising formats. By design, core X ships images uncompressed across a network. It does not support imaging industry standard formats or standard image compression algorithms. Each image must be matched to a given display type. Image work has to be done at a very low level of abstraction. Unfortunately for X, the real world of imaging includes many other file formats, encoding, and compression techniques. In response to these library limitations the XIELib API was created. XIE is a set of X image extensions (XIE). Based on X11R6, XIE was released three years ago along with X11R6. XIE capabilities include:
Thumbing through the book reveals pages and pages of code examples, samples, and a CD-ROM that contains all of the code and examples listed in the book. Descriptions and release notes for each client are provided in CD readme files. The <http://www.users.cts.com/crash/s/slogan> Web site contains current versions of the book's code. By the way, the author took time to point out that the sample client code was written and compiled using GNU tools on a Linux-powered box. The book is nineteen chapters long and opens with a quick review of image processing. It then moves on to image processing capabilities of Xlib APIs. The third chapter begins with an overview of XIE and its architecture, then moves into a detailed presentation of sample XIE client code. This chapter includes an introduction to photoflos. A Photoflo is a graphical method for illustrating the sequence in which XIE element operations will be done on an image. Each photoflo element uses an X resource ID. A limited number of resource IDs are available to X clients. An environment called Photospace was invented to overcome this X resource ID limitation. In Chapter 4, the author steps through the process of photoflo creation, specifying photoflo elements, transmitting photoflos to a server, and releasing memory and resources used by the photoflo. This chapter then presents when and where to use many of the 30+ XIELib functions. Having looked at the big picture, major chunks of the remaining chapters explain photoflo elements and the specifics relating to using the XIELib API in considerable detail. The book is heavily laced with code that supports the idea or example being presented. Chapters 16 and 17 describe specific XIE techniques for encoding and decoding JPEG Base, JPEG Lossless, CCITT G31D, CCITT G32D and 42D, TIFF2 and TIFF packets file. Several color and black and white pictures illustrate the effects produced by the various XIELib functions. Most examples use the same picture to illustrate the results of a specific XIELib function. I feel this permits a more accurate comparison and understanding of what can be done with the XIELib functions. According to the author, the purpose of this book is to provide better documentation of XIE, guidance on writing XIE clients, and to provide sample code. Having read this book, I feel I have a better understanding of XIE and how XIE clients are written, and the book and CD-ROM are loaded with sample client code.
|
|
First posted: 14th July 1998 efc Last changed: 14th July 1998 efc |
|