comparison gnv-artifacts/src/main/java/de/intevation/gnv/raster/RasterToPPM.java @ 495:6e8364e766fa

Generate JTS geometries of "Horizontalschnitte" correctly. gnv-artifacts/trunk@572 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Tue, 19 Jan 2010 14:06:10 +0000
parents
children b1f5f2a8840f
comparison
equal deleted inserted replaced
494:292f0c8d356c 495:6e8364e766fa
1 package de.intevation.gnv.raster;
2
3 import java.io.IOException;
4 import java.io.OutputStream;
5
6 import java.awt.Color;
7
8 /**
9 * @author Sascha L. Teichmann (sascha.teichmann@intevation.de)
10 */
11 public class RasterToPPM
12 {
13 private RasterToPPM() {
14 }
15
16 public static void writeToPPM(Raster raster, Palette palette, OutputStream out)
17 throws IOException
18 {
19 int W = raster.getWidth();
20 int H = raster.getHeight();
21 out.write(("P6\n" + W + " " + H + "\n255\n").getBytes("US-ASCII"));
22 double [] values = raster.getValues();
23 int pos = 0;
24 byte [] data = new byte[W*3];
25 int black = Color.BLACK.getRGB();
26 for (int i = 0; i < H; ++i) {
27 for (int j = 0; j < data.length; ++pos) {
28 Palette.Entry entry = palette.getEntry(values[pos]);
29 int rgb = entry == null
30 ? black
31 : entry.getColor().getRGB();
32 data[j++] = (byte)((rgb >> 16) & 0xff);
33 data[j++] = (byte)((rgb >> 8) & 0xff);
34 data[j++] = (byte)( rgb & 0xff);
35 }
36 out.write(data);
37 }
38 out.flush();
39 }
40 }
41 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org