Java Advanced Imaging API
Enterprise-scale, Distributed 2D Applications
The Java 2D and Java Advanced Imaging APIs provide a standard method for integrating powerful, image manipulation functionality into image processing and distribution as well as remote viewing applications. These APIs, combined with the intrinsic network-savviness of the Java 2 Platform, make it easier for imaging application vendors in the medical, commercial, and geographic information systems (GIS) markets to adopt the network computing model demanded by their customers.
Enables Remote Viewing of Images
To help developers compete in today's heterogeneous, highly distributed networked environment, the Java APIs simplify the creation of imaging applications that support a broad range of systems, from thin clients to powerful workstations. For example, many imaging applications require remote viewing of images that are stored on central servers. In the medical field, PACS applications enable doctors to review and analyze radiological images from workstations located anywhere on the network. For GIS, remote sensing applications allow commercial and government users to access and analyze large satellite images -- weather maps, vegetation, and geothermal data -- from central servers.
As an integral component of the Java 2 Platform, Standard Edition, the Java 2D API provides base-level imaging functionality for developers using the Java language. It also forms the foundation for the Java Advanced Imaging API, an optional package of the Java 2 Platform, Standard Edition. The Java Advanced Imaging API is part of the Java Media family of APIs, an extensible framework for the integration of imaging operations.
The Java 2D API
Since its inception, digital imaging on the Java platform has been supported through the java.awt and java.awt.image class packages. Introduced as part of the Java 2 Platform, Standard Edition, the Java 2D API provides device-independent graphics rendering and image compositing.
For image processing, the Java Abstract Window Toolkit (AWT) presents a simple filter model of producers and consumers. The Java 2D API extends the Java AWT by providing memory-based images, extensible image filters, color space definitions and transforms, affine transforms, compositing, and multiple image data types. It easily handles arbitrary shapes, text, and images, and provides methods for uniformly transforming, rotating, scaling, and skewing them.
The Java 2D API brings the concept of "Write Once, Run Anywhere" to applications that require enhanced 2D graphics and imaging capabilities. As a result, developers can efficiently incorporate high-quality, scalable, platform-independent graphics into Java technology-based applets and applications.
Because the Java 2D API supports the AWT hierarchy, existing pro-grams continue to work. Even new programs written in the Java language can compatibly mix both new and existing classes.
Based on open standards, the Java APIs for imaging were developed with input from leading technology vendors. The Java 2D API provides an ideal platform for creating enterprise-scale applications and applets in the Java language that take full advantage of rich media functionality to enhance communications.
The Java Advanced Imaging API
Sun collaborated with key industry leaders, including Eastman Kodak, Siemens Corporate Research, and Autometric, to develop the initial Java Advanced Imaging API specification. Building on the basic Java 2D API, it enables sophisticated, high-performance image processing in Java technology-based applications. Ideal for manipulating and sharing large, complex image files over the Internet, the API meets the demands of the geospatial, medical, commercial, network, and government imaging markets.
To facilitate support for multiple platforms, the Java Advanced Imaging API provides a standard, Java technology-based, object-oriented interface. It is well-suited for distributed, client/server imaging because it exploits the Java language's strong support for network-savvy software development. It also takes advantage of complementary Java technologies -- such as the Java Remote Method Invocation and JavaBeans components -- that are part of the Java 2 Platform, Standard Edition.
As an imaging standard, the Java Advanced Imaging API is not only comprehensive, scalable, and easy to use, it is also extensible and customizable, simplifying the integration of proprietary image manipulation algorithms.
The Java Advanced Imaging API has been carefully designed for flexibility, scalability, and extensibility. It enables the deployment of computing systems based on the cost/performance needs of a system, including thin-client, client/server, and power-client models. By simplifying and streamlining the programming tasks required to create imaging software, the Java Advanced Imaging API gives developers a competitive advantage when creating new imaging applications.
For More Information To learn more about the Java 2D and Java Advanced Imaging APIs, please visit these Sun Web sites:
Java Advanced Imaging API
Java 2D API