Luckily, We Already Have
From our Raster class:
public final Image toImage(Component root) {
return root.createImage(new MemoryImageSource(width, height, pixel, 0, width));
}
The MemoryImageSource method is an imageProducer (root is an imageObserver).
public class ppmDecoder {
Raster imgRaster; // declare a Raster
public ppmDecoder() { }
public Image getppmImage(URL url) {
// open url and read image header
.
.
.
// create imgRaster
.
.
.
// copy data from file into imgRaster
.
.
.
return (imgRaster.toImage());
}
}
|