Skip to Content
Java 2D Graphics
book

Java 2D Graphics

by Jonathan Knudsen
May 1999
Intermediate to advanced
368 pages
9h 6m
English
O'Reilly Media, Inc.
Content preview from Java 2D Graphics

11.4. Sample Models

A raster's sample model knows how to pull pixel samples out of a data buffer. In the 2D API, sample models are represented by java.awt.image.SampleModel and its subclasses.

The SampleModel provides many methods for setting and retrieving pixel sample values. These methods are nearly identical to the methods you've already seen in the Raster and WritableRaster classes, except that the methods in SampleModel also accept a DataBuffer that will be used for storing or retrieving the sample data. Because the methods are so similar, I won't list them all here.

Like a Raster, a SampleModel has both a data type and a transfer type. The data type is the type of array contained in the matching DataBuffer. The transfer type is a type that is used for moving large amounts of pixel data from one place to another. Refer back to the section on rasters for more information.

SampleModel has three subclasses that represent common methods of storing image data.

11.4.1. ComponentSampleModel

This class represents a sample model where each pixel sample is stored in a separate array element. It has two subclasses, BandedSampleModel and Pixel-InterleavedSampleModel.

11.4.1.1. BandedSampleModel

This class is suitable for use with banded data in a DataBuffer. To create a BandedSampleModel, use one of its constructors:

public BandedSampleModel(int dataType, int w, int h, int numBands)

This constructor creates a BandedSampleModel suitable for use with the given data type, width, height, ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Computer Graphics for Java Programmers, Second Edition

Computer Graphics for Java Programmers, Second Edition

Leen Ammeraal, Kang Zhang
Java Swing

Java Swing

Robert Eckstein, Marc Loy, Dave Wood
Java Extreme Programming Cookbook

Java Extreme Programming Cookbook

Eric M. Burke, Brian M. Coyner

Publisher Resources

ISBN: 1565924843Catalog PageErrata