Skip to content

Commit 155035c

Browse files
committed
Add Raster.getBufferedImage method.
1 parent f3bcc66 commit 155035c

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

src/main/groovy/geoscript/layer/Raster.groovy

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -329,6 +329,21 @@ class Raster implements Renderable {
329329
coverage.renderedImage
330330
}
331331

332+
/**
333+
* Get a BufferedImage
334+
* @return A BufferedImage
335+
*/
336+
BufferedImage getBufferedImage() {
337+
RenderedImage image = getImage()
338+
ColorModel colorModel = image.colorModel
339+
WritableRaster writableRaster = colorModel.createCompatibleWritableRaster(image.width, image.height)
340+
boolean isAlphaPremultiplied = colorModel.isAlphaPremultiplied()
341+
Hashtable properties = new Hashtable()
342+
BufferedImage result = new BufferedImage(colorModel, writableRaster, isAlphaPremultiplied, properties)
343+
image.copyData(writableRaster)
344+
result
345+
}
346+
332347
/**
333348
* Get the value of the Raster at the given geographic Location.
334349
* If the Raster contains multiple bands a Collection of values, one for

src/test/groovy/geoscript/layer/RasterTestCase.groovy

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ class RasterTestCase {
3535

3636
assertNotNull raster.data
3737
assertNotNull raster.image
38+
assertNotNull raster.bufferedImage
3839

3940
Bounds bounds = raster.bounds
4041
assertEquals(1166191.0260847565, bounds.minX, 0.0000000001)

0 commit comments

Comments
 (0)