|
Java 2D Graphics by Jonathan Knudsen is a remarkably accessible guide to graphics programming which gives powerful collection of classes and interfaces designed to provide complex graphical capabilities to developers on the Java 2 platform. This book explores the wide variety of Graphics2D classes and methods touching just everything which the reader might want to know.
In this book Knudsen has admirably covered the salient features of the Java 2D API and provided sufficient examples to get one started. . Besides the basic navigation of the API, this title delivers plenty of useful advanced material for extending Java 2D's capabilities. The 2D API allows you to produce high-quality, professional images on a screen or printer. Java 2D Graphics describes a detailed picture of the 2D API, demonstrating how to set line styles and pattern fills as well as more advanced techniques of image processing and font handling.
|
|
|
|
After a simple introductory session on Java 2D, the book focuses on a slightly bigger picture i.e. the Graphics2D class comprising of various participating elements, the Aliasing and Antialiasing technique as well as the conversion of User Space to Device Space. The author then moves on to the Geometric aspects supported by 2D API including various Java 2D classes representing geometric shapes, points, Rectangle, Ellipses and Arcs. The combining of several shapes with each other had also been taken into account.
The book provides sufficient scope for the programmer to learn various things that can be done once the shapes are created. Author not only explains different types of painting supported by the 2D API but also the end effect of both stroking and painting a shape. The focus then turn towards the various Rendering techniques applicable to graphics object along with 2D API’s support to the manipulation of shapes, text, and images in many of the same ways. The Compositing and Clipping concept together with Graphics2D’s support has been extensively explained.
Taking the Rendering topic further the author also discusses the rendering of text along with 2D API’s support for different text rendering capabilities. Keeping in view of the users’ need some features like embedding of images and shapes in the text string, rendering bidirectional strings etc had also been explained in the best of the possible ways. The information related to Glyph vectors, Glyph shapes, Color class, retrieving color values as well as color space is of great use to the developers.
The book gives an in-depth coverage of Images and Image Processing techniques in 2D API. The author recognizes the strength of various other image related issues like ways of loading and displaying the images, modifying the appearance of images using the 2D API's image processing classes, geometrical transformation of images using the 2D classes and hence explaining them in one of the best possible ways. 2D API being an efficient graphics programming tool provides developers with plenty of useful advanced material for extending Java 2D's capabilities.
Java 2D API’s support to represent various individual devices along with compatible image creation to the device configuration reflects its easy device compatibility. Printing Issues related to the Printing API of Java2 platform, job control and pagination issues, integration of printing into an existing application had also been discussed. The book ends with some animation and performance related discussion including the building of animation applications using the 2D API, efficient memory handling and several optimizing techniques for the application.
Overall Knudsen has admirably covered the salient points of the Java 2D API and provided sufficient examples to get one started through this book. This book lives up to the usual expectation by providing insightful and well-researched information written effectively and accessibly by the author thereby making it a rewarding book both for the beginner as well as for intermediate computer graphics developer.
|
You can share your information about this topic using the form below!
Please do not post your questions with this form! Thanks.